获取我在android中点击的listitem的文本

时间:2013-03-11 03:24:57

标签: android

我有一个列表视图。我必须得到我点击的列表项的文本。我尝试使用onitemclick。但我无法得到。可以解释一下如何获得它。

这是我的onitemclick方法

lstcities.setOnItemClickListener(new OnItemClickListener() {

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

//              String str =(String) lstcities.getItemAtPosition(position);
                String S =view.getContext().toString();
            Toast.makeText(getApplicationContext(),
                  "Click ListItem Number " +  S, Toast.LENGTH_LONG)
                  .show();

感谢  瑞木

6 个答案:

答案 0 :(得分:2)

试试这个,

setListAdapter(new ArrayAdapter<String>(this, R.layout.yourlayout,your list));

    ListView listView = getListView();
    listView.setTextFilterEnabled(true);

    listView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // When clicked, show a toast with the TextView text
           String selectedValue = (String) getListAdapter().getItem(position);
    Toast.makeText(this, selectedValue, Toast.LENGTH_SHORT).show();

        }
    });

答案 1 :(得分:1)

假设您使用的是TextView,您应该可以

String text = parent.getItemAtPosition(position).getText().toString()

答案 2 :(得分:0)

您可以从适配器中使用的ArrayList获取字符串。

喜欢:String str = arrayList[position]; //Assume arrayList here is String[];

答案 3 :(得分:0)

如果您使用自定义视图(自己的xml)列表项。您将获得整个xml的视图作为第二个参数(视图视图),您可以找到您的textView,如view.findViewById(您的文本视图ID); 如果您使用android定义项目android.R.layout.list_item_1然后使用textview对视图对象进行类型转换;

使用此textView,您可以获取textView的文本或以相同的方式从列表项中访问任何视图。

答案 4 :(得分:0)

另一种方法是: -

lstcities.setOnItemClickListener(new OnItemClickListener()
{

        @Override
        public void onItemClick (AdapterView<?> parent, View view, int position, long id) 
         {
            String text = (String) (((ListAdapter)parent.getAdapter).getItem(position));
            // Do what you want to with this text
         }
}

答案 5 :(得分:0)

您只需添加以下声明:

String selectedFromList = (String) (lv.getItemAtPosition(position));