AnnBnnCnnD 2013-04-01 05:16 采纳率: 0%
浏览 2045

在运行时修改AlertDialog的内容

如题,我试过一些方法没实现。

使用的是自定义布局,我用的下面方法:

TextView mjollnir_descr = (TextView) findViewById(R.id.dialog_item_descr);
    mjollnir_descr.setText(R.string.item_detail_clarity_descr);

在代码第二行报出的错误:

03-31 19:45:25.261: E/AndroidRuntime(781): FATAL EXCEPTION: main
03-31 19:45:25.261: E/AndroidRuntime(781): java.lang.IllegalStateException: Could not execute method of the activity
03-31 19:45:25.261: E/AndroidRuntime(781): Caused by: java.lang.NullPointerException
03-31 19:45:25.261: E/AndroidRuntime(781):  at com.myapp.ItemsOverview.show_details_mjollnir(ItemsOverview.java:81)
  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2022-12-19 23:04
    关注

    ChatGPT尝试为您解答,仅供参考
    看起来你在尝试使用自定义布局中的 TextView 控件来更新对话框的内容。


    但是,在你尝试使用 findViewById 方法来获取 TextView 控件时,它返回了 null,导致了空指针异常。这可能是因为你在调用 findViewById 方法之前没有设置自定义布局。

    要解决此问题,首先确保你已经设置了自定义布局,例如:

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    View view = getLayoutInflater().inflate(R.layout.custom_layout, null);
    builder.setView(view);
    

    然后,使用 view.findViewById 方法来获取 TextView 控件:

    TextView mjollnir_descr = (TextView) view.findViewById(R.id.dialog_item_descr);
    mjollnir_descr.setText(R.string.item_detail_clarity_descr);
    

    这应该可以解决问题。

    评论

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻看一个题
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)