【问题标题】:onListItemClick + androidonListItemClick + 安卓
【发布时间】:2014-05-28 05:53:33
【问题描述】:

你能解释一下这个方法的参数吗?我不明白他们。 http://developer.android.com/reference/android/app/ListActivity.html#setListAdapter(android.widget.ListAdapter)

 onListItemClick(ListView l, View v, int position, long id)

ListView l:定义点击事件发生的ListView?

View v:定义在ListView中被点击的视图?那么对于 ListView,那将是包含 ListView 的 xml,如果它是自定义 ListView,则包含该行的 xml?

int position:视图在列表中的位置。可以使用以下函数检索它吗? getListView().getPositionForView((LinearLayout)v.getParent())

long id:被点击的项目的行ID。这和position不一样吗?还是我们提供 R.id.Textview?

【问题讨论】:

标签: android listview


【解决方案1】:

很简单。

ListView l --> 是发生单击的列表视图对象的名称。 (简单)

喜欢

ListView l = (ListView) findViewById(R.id.list);

View v ---> 列表视图中可以有多个视图。所以这告诉了哪个视图已被点击并采取相应的行动。

Position --> 视图在列表中的位置。 (查看位置)

id ---> ITEM 的行 id。 (项目 ID)

【讨论】:

  • Soumil Deshpande 那么我们如何获取被点击的视图呢??
  • getSelectedItemPosition()
【解决方案2】:

列表视图由小项目/行组成。使用自定义 listView 时。每行/项目可以有不同的功能和布局。所以对于每一行/项目,我们必须使用不同的功能..

例如,在第四行的列表视图中有一个按钮,而在所有其他项目上只有文本。因此,为了将您的活动放在那里,您必须获得特定的行/项目内容。下面的代码使您可以访问单个项目..

 onListItemClick(ListView l, View v, int position, long id) 


first parameter is parent where the click happened

second parameter is single View(child/row) of a ListView(Parent)

third parameter is the position of child view.

fourth parameter is the id of the child view.

【讨论】:

    【解决方案3】:

    1-第一个你定义的 ListView 对象:

    ListView foo = (ListView) findViewbyId(R.id.foo);
    

    2-second Row item it self (View v) 一个很简单,就是你点击的对象(你可以获得被点击的视图),你可以改变颜色或内容或任何你想要的

    ListView中(View v)对象的三位索引从0开始

    4- 项目的行 ID(我从未使用过)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 2017-12-05
      • 2012-04-08
      • 2012-10-09
      • 2014-06-09
      相关资源
      最近更新 更多