gpt4 book ai didi

java - 使用 ListView 中的值填充新对话框中的 EditText

转载 作者:行者123 更新时间:2023-11-29 04:49:35 25 4
gpt4 key购买 nike

嘿,我正在尝试使用 ListView 中的值填充新对话框中的 EditText。问题是我得到了

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.CharSequence)' on a null object

我在从 ListView 获得的值上放置了一个 Toast,它起作用了,它返回了特定的值。当我尝试调用 .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
}

最佳答案

EditText 在您的对话框中可用,因此您必须在创建 EditText 对象时提供您的对话框的引用。

EditText prodField = (EditText) dialog.findViewById(R.id.custom_dialog_edit_delete__productName);

关于java - 使用 ListView 中的值填充新对话框中的 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35913003/

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