Java 用ListView中的值填充新对话框中的编辑文本
嘿,我正试图在一个新对话框中用Java 用ListView中的值填充新对话框中的编辑文本,java,android,listview,Java,Android,Listview,嘿,我正试图在一个新对话框中用列表视图中的值填充编辑文本。问题是,我得到了 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.CharSequence)' on a null object 我对从ListView获取的值敬酒,它工作正常,返回特定的值。 当我试图调用.setText(ValueFromListView)时
列表视图中的值填充编辑文本。问题是,我得到了
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.CharSequence)' on a null object
我对从ListView
获取的值敬酒,它工作正常,返回特定的值。
当我试图调用.setText(ValueFromListView)
时,它给出了错误,我不明白为什么。有人能帮我吗?
代码如下:
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, final long id) {
final Dialog dialog = new Dialog(MainActivity.this);
dialog.setTitle("Edit item...");
dialog.setContentView(R.layout.custom_dialog_edit_delete);
dialog.show();
Button button_UPDATE = (Button) dialog.findViewById(R.id.custom_dialog_edit_delete_button_UPDATE);
Button button_CANCEL = (Button) dialog.findViewById(R.id.custom_dialog_edit_delete_button_CANCEL);
Button button_DELETE = (Button) dialog.findViewById(R.id.custom_dialog_edit_delete_button_DELETE);
// GET PRODUCT REFERENCES
Cursor cursor = (Cursor) parent.getItemAtPosition(position);
String productName = cursor.getString(cursor.getColumnIndex(DBAdapter.KEY_PRODUCT));
String productPrice = cursor.getString(cursor.getColumnIndex(DBAdapter.KEY_PRICE));
String productType = cursor.getString(cursor.getColumnIndex(DBAdapter.KEY_TYPE));
Toast.makeText(MainActivity.this, productName + " " + productPrice + " " + productType, Toast.LENGTH_SHORT).show();
EditText prodField = (EditText) findViewById(R.id.custom_dialog_edit_delete__productName);
prodField.setText(productName); // This is the line that i get the null pointer exception
}
@覆盖
公共布尔长单击(AdapterView父对象、视图、最终整型位置、最终长id){
最终对话框=新对话框(MainActivity.this);
对话框.setTitle(“编辑项…”);
setContentView(R.layout.custom\u dialog\u edit\u delete);
dialog.show();
按钮按钮更新=(按钮)对话框。findViewById(R.id.custom按钮对话框编辑删除按钮更新);
Button Button\u CANCEL=(Button)dialog.findViewById(R.id.custom\u dialog\u edit\u delete\u Button\u CANCEL);
Button Button\u DELETE=(Button)dialog.findViewById(R.id.custom\u dialog\u edit\u DELETE\u Button\u DELETE);
//获取产品参考资料
Cursor Cursor=(Cursor)parent.getItemAtPosition(位置);
String productName=cursor.getString(cursor.getColumnIndex(DBAdapter.KEY_PRODUCT));
String productPrice=cursor.getString(cursor.getColumnIndex(DBAdapter.KEY_PRICE));
String productType=cursor.getString(cursor.getColumnIndex(DBAdapter.KEY_TYPE));
Toast.makeText(MainActivity.this,productName+“”+productPrice+“”+productType,Toast.LENGTH\u SHORT)。show();
EditText prodField=(EditText)findViewById(R.id.custom\u dialog\u edit\u delete\u productName);
prodField.setText(productName);//这是我得到空指针异常的行
}
试试这个
EditText prodField = (EditText)dialog.findViewById(R.id.custom_dialog_edit_delete__productName);
prodField.setText(productName);
//EditText
在您的对话框中可用,因此在创建EditText
的对象时,您必须提供对话框的参考
EditText prodField = (EditText) dialog.findViewById(R.id.custom_dialog_edit_delete__productName);