java - 在自定义警报对话框中设置自定义文本 (Android-Studio)
问题描述
我的自定义对话框有以下代码:package com.example.ortel.tagnet;
import dev.niekirk.com.instagram4android.requests.payload.InstagramUser;
public class CustomDialogClass extends Dialog implements
android.view.View.OnClickListener {
public Activity c;
public Dialog d;
public Button yes, no;
public EditText name;
public CustomDialogClass(Activity a) {
super(a);
// TODO Auto-generated constructor stub
this.c = a;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.custon_dialog);
yes = (Button) findViewById(R.id.btn_yes);
no = (Button) findViewById(R.id.btn_no);
name = (EditText) findViewById(R.id.name);
yes.setOnClickListener(this);
no.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_yes:
c.finish();
break;
case R.id.btn_no:
dismiss();
break;
default:
break;
}
dismiss();
}
public String getFirst(String s) {
name.setText(s);
return s;
}
}
在我的名字课上,我打电话给...
CustomDialogClass cdd = new CustomDialogClass((Activity) context);
cdd.getFirst("test");
cdd.show();
我想将文本(由 id 'name' 定位)设置为 'test'。
当我运行此代码时,我收到以下错误:
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.widget.EditText.setText(java.lang.CharSequence)”
问题是什么?
编辑: 如果您需要更多信息,请告诉我!
解决方案
你试试:
public void getFirst(String s) {
name.setText(s);
}
我认为您将函数名称从:[getFirst] 更改为 [setNameTitle],您的名称函数不清楚。
推荐阅读
- javascript - 如何从包含 Promise 和 .then 的函数返回对象,以及如何在另一个函数中获取返回值?
- node.js - 如何使用 docker-compose 将 nginx 配置为 nodejs(express)应用程序的反向代理
- javascript - 使用 iFrame 进行不需要的滚动
- xml - LINQ to XML 查询中的 xmlns 属性
- r - 工具未安装或不在 PATH 中:pdfcrop
- google-apps-script - 如何在单独的单元格中为每天收到新回复的 Google 表单添加价值?Google Apps 脚本
- python - 如何使用 python 库提取 pdf 对象类型?
- python - spaCy 和 Docker:不能“dockerize”使用 spaCy 模块的 Flask 应用程序
- sql - 传递变量时用户定义的函数确实有效
- omnet++ - 如何为复合模块添加支持handlemessage功能的能力