如何从listview onclick项目获取特定的edittext值?

时间:2019-03-20 17:59:06

标签: android listview android-listview

我在每个列表项中都有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}

但是我想提取姓名并单独滚动。

1 个答案:

答案 0 :(得分:1)

能否请您尝试下面的代码?

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

的文本