onItemClick使用多个ListView



我有一个布局与多个ListView工作完美,我不能捕捉任何点击任何项目。

所有listview上的项具有相同类型的信息,我打算使用一个适配器在另一个布局上显示该信息。

我已经搜索过了,我发现了2种很好的方法来做到这一点,第一种方法当我点击任何项目时什么都不做,第二种方法不让我开始目的地活动,我不知道该怎么做更多…

包含ListView的布局:

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <FrameLayout
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
            <TextView
                android:id="@+id/day1"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:gravity="center_vertical|center_horizontal" />
            <ListView
                android:id="@+id/list1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingTop="50dp" >
            </ListView>
        </FrameLayout>
        <FrameLayout
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" >
            <TextView
                android:id="@+id/day2"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:gravity="center_vertical|center_horizontal" />
            <ListView
                android:id="@+id/list2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingTop="50dp" >
            </ListView>
        </FrameLayout>
        ....
        ....
    </LinearLayout>
这是我的第一个代码:
public class MyClass extends Activity implements OnItemClickListener {
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    Object o = arg0.getAdapter().getItem(arg2);
    Intent i = new Intent(MyClass .this, ViewMyClass.class);        
    startActivity(i);
}
}

当我点击任何项目时,它什么也不做,我不知道为什么…

我的第二个代码:
public class MyClass extends Activity implements AdapterView.OnItemClickListener {
    lv1 = (ListView) findViewById (R.id.list1);
    lv1.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
        Object o = arg0.getAdapter().getItem(arg2);
        Intent i = new Intent(MyClass .this, ViewMyClass.class);
        startActivity(i);
    }
    });
}

使用这段代码,当我点击一个项目的第一个ListView不启动活动ViewMyClass,也不知道为什么

我也试过这样做,但一无所获:

AdapterView。OnItemClickListener with more ListView

listviewonitemclick在活动中不工作

我也试图这样做,但如果我改变扩展活动与ListFragment几乎所有我的工作代码变成错误…

Android编程- onitemclicklistener for多个listview不工作

我会继续搜索和尝试,因为我知道它必须是一个解决方案,这没有改变所有的代码,但如果有人可以帮助…

尝试以下两种方法中的任何一种,这将有助于您…

  1. 从你的第二代码中删除implements AdapterView.OnItemClickListener

    public class MyClass extends Activity implements AdapterView.OnItemClickListener

并运行代码

  • 将你的代码替换为::

    public class MyClass extends Activity implements AdapterView.OnItemClickListener {
        @Override
        public void onCreate(Bundle icicle){
            super.onCreate(icicle);
            setContentView(R.layout.your_layout);   
            lv1 = (ListView) findViewById (R.id.list1);
            lv1.setOnItemClickListener(this); 
        }
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
            Object o = arg0.getAdapter().getItem(arg2);
            Intent i = new Intent(MyClass .this, ViewMyClass.class);
            startActivity(i);
        }
    }
    
  • 相关内容

    • 没有找到相关文章

    最新更新