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);