如何检索ListItem的位置?

时间:2011-12-17 10:38:58

标签: android android-listview android-button

目前我有

<ListView>
<TextView>
</ListView>

以下方法完美无缺

@Override
protected void onListItemClick(ListView l, View v, int position, long id)

我打算将布局更改为

<ListView>
<TextView>
<Button>
</ListView>

public void buttonListener(View v)

有没有一种简单的方法可以从按钮监听器中检索ListView l和int位置?

谢谢!

6 个答案:

答案 0 :(得分:2)

中声明你的按钮监听器
@Override
public View getView(int position, View convertView, ViewGroup parent)
列表适配器的

您可以访问该位置和列表视图。

答案 1 :(得分:0)

在适配器中,为按钮指定一个带位置的标签 接下来findViewById(按钮)和getTag()找出位置

不知道这是不是最好的方式,但它会起作用!

顺便说一下,通过按钮读取listitems,它会带来onClickListeners的一些问题

答案 2 :(得分:0)

您可以在列表视图中添加一个id(例如myView),然后从按钮侦听器中获取列表视图对象并获取其所有属性。


见下面的代码:

ListView listView= (ListView ) YourPage.findViewById(R.id.myView );

答案 3 :(得分:0)

listview.setOnItemClickListener(new ListView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {

            //here arg2 is the position of particular listview item


            }
        });

答案 4 :(得分:0)

我认为您需要一个自定义列表视图,您可以在其中点击服装按钮并获取位置,并根据您可以继续要求。

Sai geetha Listview

答案 5 :(得分:0)

  YTou should try this code:

   @Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    // Get the item that was clicked
    Object o = this.getListAdapter().getItem(position);
    String keyword = o.toString();
    Toast.makeText(this, "You selected: " + keyword, Toast.LENGTH_SHORT)
            .show();

 }
});

如果您想更多地看到与您有关的问题,请点击以下链接

Android ListView: get data index of visible item

http://www.androidpeople.com/android-listview-onclick

http://developer.android.com/reference/android/widget/ListView.html