【发布时间】:2013-12-07 02:28:03
【问题描述】:
我想在 AlertDialog 中的 EditText 中放入一个字符串,它位于带有 ListVIew 的 onItemClick 侦听器中。这是代码的一部分
dialogbuilder= new AlertDialog.Builder(this)
.setTitle(R.string.title_connect_dialog)
.setView(getLayoutInflater().inflate(R.layout.dialog_connect,null))
.setPositiveButton("Connect", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.create();
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View view = inflater.inflate(R.layout.dialog_connect, null);
edit1 = (EditText)view.findViewById(R.id.devicename);
edit2 = (EditText)view.findViewById(R.id.deviceadd);
private AdapterView.OnItemClickListener mDeviceClickListener = new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> adapterView, View v, int arg2, long arg3) {
String info = ((TextView) v).getText().toString();
name = info.substring(0,info.length() - 18);
address = info.substring(info.length() - 17);
dialogbuilder.show();
edit1.setText(name);
edit2.setText(address);
}
};
当我运行项目时,EditText 中没有任何内容!它不起作用!但没有异常或错误。我尝试只在 XML 文件中设置文本可以工作。我将 EditText 替换为 TextView ,但不是也工作。 逻辑有问题吗?感谢阅读。
【问题讨论】:
-
name和address定义在哪里? -
删除 dialogbuilder.show();从 eddit1.setText(name) 的上方并将其放在 eddit2.setText(address) 之后
-
在onItemClickListner中。
标签: android android-edittext settext