如何从列表视图 onclick 项目中获取特定的 edittext 值?
How to get specific edittext value from listview onclick item?
我在每个列表项中有 2 个 edittext,所以单击一个项目时,我当前将所有文本同时显示在列表项中,但我希望它们分开。
xml
<EditText
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="20dp"/>
<EditText
android:id="@+id/roll"
android:layout_width="wrap_content"
android:layout_height="20dp"/>
onclick 函数
listviewQuestion.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String questionid = String.valueOf(parent.getItemAtPosition(position));
Toast.makeText(QuestionListActivity.this, item, Toast.LENGTH_LONG).show();
}
});
当前输出
{name=abc,roll=123}
但我想提取名称并单独滚动。
你能试试下面的代码吗?
listviewQuestion.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
EditText editTextName = view.findViewById(R.id.name);
EditText editTextRoll = view.findViewById(R.id.roll);
String name = editTextName != null ? editTextName.getText().toString() : "NULL";
String roll = editTextRoll != null ? editTextRoll.getText().toString() : "NULL";
Toast.makeText(QuestionListActivity.this, item, Toast.LENGTH_LONG).show();
}
});
如果不行,我会移除。
我认为这样你可以阅读每个 EditText
的文本
我在每个列表项中有 2 个 edittext,所以单击一个项目时,我当前将所有文本同时显示在列表项中,但我希望它们分开。
xml
<EditText
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="20dp"/>
<EditText
android:id="@+id/roll"
android:layout_width="wrap_content"
android:layout_height="20dp"/>
onclick 函数
listviewQuestion.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String questionid = String.valueOf(parent.getItemAtPosition(position));
Toast.makeText(QuestionListActivity.this, item, Toast.LENGTH_LONG).show();
}
});
当前输出
{name=abc,roll=123}
但我想提取名称并单独滚动。
你能试试下面的代码吗?
listviewQuestion.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
EditText editTextName = view.findViewById(R.id.name);
EditText editTextRoll = view.findViewById(R.id.roll);
String name = editTextName != null ? editTextName.getText().toString() : "NULL";
String roll = editTextRoll != null ? editTextRoll.getText().toString() : "NULL";
Toast.makeText(QuestionListActivity.this, item, Toast.LENGTH_LONG).show();
}
});
如果不行,我会移除。
我认为这样你可以阅读每个 EditText