setOnItemClickListener不能与listView一起工作



我在LinearLayout中嵌套了一个ListView。因为我想在ListView的顶部添加一个滑动条。

我的XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/listViewLinearLayout"
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<!--    SliderView-->
<com.smarteist.autoimageslider.SliderView
android:id="@+id/slider"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_centerInParent="true"
app:sliderAnimationDuration="600"
app:sliderAutoCycleDirection="back_and_forth"
app:sliderIndicatorAnimationDuration="600"
app:sliderIndicatorEnabled="true"
app:sliderIndicatorGravity="center_horizontal|bottom"
app:sliderIndicatorMargin="15dp"
app:sliderIndicatorOrientation="horizontal"
app:sliderIndicatorPadding="3dp"
app:sliderIndicatorRadius="2dp"
app:sliderIndicatorSelectedColor="#5A5A5A"
app:sliderIndicatorUnselectedColor="#FFF"
app:sliderScrollTimeInSec="1" />
<ListView
android:id="@+id/list"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</LinearLayout>

现在我想在ListView上设置OnItemClickListener。这样,当我们点击任何一个listItem时,我们可以显示另一个活动。

为此,我编写了以下JAVA代码:

CardAdapter cardAdapter = new CardAdapter(this,cards);
ListView listView = findViewById(R.id.list);
listView.setAdapter(cardAdapter);
// Setting listener to ListView
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.v("GetIntent","PLace Name =");
Card card = cards.get(position);
Intent intent = new Intent(HistoricActivity.this,HistoricDetailsActivity.class);
intent.putExtra("MyClass", (Serializable) card);
startActivity(intent);
}
});

我还在OnItemClickListener中打印一些日志用于调试。

所以问题是它不工作。

在我之前的项目中,当我这样做的时候。它是这样的:此处new AdapterView.OnItemClickListener()突出显示。

但现在在这个:Android Studio没有突出显示new AdapterView.OnItemClickListener()

试着像这样设置你的按钮(或任何其他你想处理的视图在列表项中点击):

android:focusable="false"
android:focusableInTouchMode="false"

最新更新