在setOnItemClickListener android中从listview获取项目

在setOnItemClickListener android中从listview获取项目,android,android-listview,Android,Android Listview,我不熟悉安卓系统。我在列表视图中的每个位置都有5个textview,当我在每个位置单击时,我需要获取每个textview的值。如何从getItemAtPosition()获取值 请帮帮我 TextView txtRow = (TextView) arg1.findViewById(R.id.your_text_view); String txtValues = txtRow.getText().toString(); arg1或view是onItemClick的参数您可以从您的onItemC

我不熟悉安卓系统。我在列表视图中的每个位置都有5个textview,当我在每个位置单击时,我需要获取每个textview的值。如何从getItemAtPosition()获取值

请帮帮我

TextView txtRow = (TextView) arg1.findViewById(R.id.your_text_view);

String txtValues = txtRow.getText().toString();

arg1或view是onItemClick的参数

您可以从您的onItemClick中的参数视图中获益,以获得单击的视图。然后通过声明一个新的textView来获取该值,并让它具有textView的id,然后使用getText()方法来实际获取该文本

@Override
        public void onItemClick(AdapterView<?> arg0, View view, int arg2,
                long arg3) {
            // TODO Auto-generated method stub

            String text1Value = ((TextView) view.findViewById(R.id.textViewId1)).getText().toString();
            String text2Value = ((TextView) view.findViewById(R.id.textViewId2)).getText().toString();
            String text3Value = ((TextView) view.findViewById(R.id.textViewId3)).getText().toString();
            String text4Value = ((TextView) view.findViewById(R.id.textViewId4)).getText().toString();
            String text5Value = ((TextView) view.findViewById(R.id.textViewId5)).getText().toString();


        }
    });
@覆盖
public void onItemClick(AdapterView arg0、View视图、int arg2、,
长arg3){
//TODO自动生成的方法存根
字符串text1Value=((TextView)view.findViewById(R.id.textViewId1)).getText().toString();
字符串text2Value=((TextView)view.findViewById(R.id.textViewId2)).getText().toString();
字符串text3Value=((TextView)view.findViewById(R.id.textViewId3)).getText().toString();
字符串text4Value=((TextView)view.findViewById(R.id.textViewId4)).getText().toString();
字符串text5Value=((TextView)view.findViewById(R.id.textViewId5)).getText().toString();
}
});

如果你不明白,请随时问我。快乐编程

如果您只需要TextView的值,而不关心位置,那么这是合适的:

@Override
        public void onItemClick(AdapterView<?> arg0, View view, int arg2,
                long arg3) {
            // TODO Auto-generated method stub

        String text1Value = ((TextView) view).getText();


    }
});

如何填充ListView?适配器?我将其填充为我认为很好的适配器,通常使用您在列表或数组中传递的适配器(例如ArrayAdapter)。在ListView中使用setOnItemClickListener,当单击列表项时,您将获得传递给onItemClick()方法的位置。只需使用position来获取从列表或数组中传入的值。您必须获取position不需要position,因为
View
参数获取单击的视图本身,而不复制每个位置的所有字符串。因此,如果我按下第三项(位置2),view参数将指示第三项的view。因此,所有的值都将指向第三个项目,但这是我所做的,它给了我第一个位置的文本视图尝试通过显示toast或logcat来检查单击的项目位置<代码>Toast.makeText(youractivity.this,String.valueOf(position),Toast.LENGTH_SHORT.show()可能您的实现有问题。请给我一个关于位置值的反馈。它告诉我正确的位置,但textview只是第一个位置。我需要获取每个textview的值,因此如何逐个获取它取决于您使用的适配器类型,但您可以使用“getAdapter”从listview获取适配器(如果你还没有持有对它的引用)然后获取列表的大小并遍历列表。这可能有点模糊,但应该会让你朝着正确的方向前进。
protected void onListItemClick(ListView lv, View v, int position, long id) {
    super.onListItemClick(lv, v, position, id);

    String text1Value = ((TextView) lv.getItemAtPosition(position)).getText();
}