我有一个布局与多个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不工作
我会继续搜索和尝试,因为我知道它必须是一个解决方案,这没有改变所有的代码,但如果有人可以帮助…
尝试以下两种方法中的任何一种,这将有助于您…
-
从你的第二代码中删除
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); } }