gpt4 book ai didi

android - 在 AlertDialog 中更改 textView 文本时出现 NullPointerException

转载 作者:行者123 更新时间:2023-11-29 17:47:38 25 4
gpt4 key购买 nike

背景:

  • 我只想创建一个具有特定布局的 customDialog 并添加内容。
  • 它是一个 DialogFragment

代码:

TextView text;

@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

text = (TextView)getView().findViewById(R.id.lorem);
text.setText("Test");
}


@Override
public Dialog onCreateDialog(Bundle savedInstanceState){

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.custom_dialog, null));
return builder.create();
}

问题:

  • 对话框工作正常,但在我开始在“onCreate”中添加行后,我得到了 NullPointerException 错误。我希望有人能帮助我。

感谢@Raghunandan 的回答+解释,这里是工作代码:

    @Override
public Dialog onCreateDialog(Bundle savedInstanceState){

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.custom_dialog_style, null);
textView = (TextView)view.findViewById(R.id.your_textview);
textView.setText("Test");
builder.setView(view);
return builder.create();
}

最佳答案

起初我认为它是一个Activity,现在我看到它是一个DialogFragment

我猜这个 View 属于 custom_dialog.xml

View view = inflater.inflate(R.layout.custom_dialog, null);
text = (TextView)view.findViewById(R.id.lorem);
builder.setView(view);

所以使用 View 对象来初始化TextView

text = (TextView)getView().findViewById(R.id.lorem); 这里 getView() 返回 null。

您在 null 上调用 setText 导致 NullPointerException

关于android - 在 AlertDialog 中更改 textView 文本时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25363263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com