【问题标题】:How to check clicked element in custom listview row?如何检查自定义列表视图行中的单击元素?
【发布时间】:2015-02-21 19:43:18
【问题描述】:

我有一个自定义 ListView,这是它的行:

---------------------------
|--[ RelativeLayout 1 ]--|
|--[ RelativeLayout 2 ]--|
|--[ RelativeLayout 3 ]--|
---------------------------

我可以在BaseAdapter 中为RelativeLayout 使用setOnClickListener() 方法,但我想检查在Activity Class 中单击了哪个RelativeLayout,并且:

for RelativeLayout1 > call function1() in Activity
for RelativeLayout2 > call function2() in Activity
for RelativeLayout3 > call function3() in Activity

我该怎么做?

【问题讨论】:

  • 你看到我的回答了吗?你在哪里接触到这个?如果您回复将不胜感激:)

标签: android listview android-activity


【解决方案1】:

这可以通过添加标签来完成

android:descendantFocusability="blocksDescendants"

到列表项布局中最外层的 XML 元素。然后,对于每个RelativeLayouts,定义一个id元素为

android:id="@+id/rel1"

android:id="@+id/rel2"

android:id="@+id/rel3"

通过调用获取对这些的引用:

RelativeLayout r1 = (RelativeLayout) findViewById(R.id.rel1);

并在列表的AdaptergetView() 方法中为每个人设置一个onClickListener

r1.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View v){
        // do whatever you want here
    }
});

试试这个。这将起作用。

【讨论】:

    猜你喜欢
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    相关资源
    最近更新 更多