使用自定义适配器视图时,如何使列表视图可点击?
How can I make listview clickable when custom adapter view is used?
我知道这个问题被问过好几次了,我尝试根据其他解决方案解决但没有成功。我将 customAdapterView 与列表视图一起使用。我还在 xml 中设置了可点击。但它不起作用。
我的问题是列表视图不可点击是什么错误?
** 另一个有趣的事情引起了我的注意,如果我在 findViewby 资源 ID 或大小写期间以 "list....." 开始任何 ID 名称 - "l" 字母表自动变为大写。为什么会这样?
以下部分在 onCreate 方法内部:-
uddin= getResources().getStringArray(R.array.uddin_name_array);
body=getResources().getStringArray(R.array.uddin_body_array);
prof = getResources().getStringArray(R.array.prof_name_array);
ListView listView= findViewById(R.id.uddinListView);
listView.setClickable(true);
listView.setAdapter(new MyCustomAdapter(this,R.layout.activity_list_view,uddin,prof));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent=new Intent(MainActivity.this,ReadingUddinActivity.class);
startActivity(intent);}
}
);
我终于在代码中找到了罪魁祸首。它在 xml 代码中。我的 Java 代码没有错误。但由于自定义适配器视图中的评级栏,它不可点击。
<RatingBar
android:id="@+id/ratingBar"
style="@style/Widget.AppCompat.RatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:numStars="2" />
当我将样式指定为
style="@style/Widget.AppCompat.RatingBar"
列表项防止变为可点击。
但如果我将样式指定为
style="@style/Widget.AppCompat.RatingBar.Small"
或者,
style="@style/Widget.AppCompat.RatingBar.Indicator"
它工作正常。我不知道为什么第一个不起作用。专家可能会找到原因。
我知道这个问题被问过好几次了,我尝试根据其他解决方案解决但没有成功。我将 customAdapterView 与列表视图一起使用。我还在 xml 中设置了可点击。但它不起作用。
我的问题是列表视图不可点击是什么错误?
** 另一个有趣的事情引起了我的注意,如果我在 findViewby 资源 ID 或大小写期间以 "list....." 开始任何 ID 名称 - "l" 字母表自动变为大写。为什么会这样?
以下部分在 onCreate 方法内部:-
uddin= getResources().getStringArray(R.array.uddin_name_array);
body=getResources().getStringArray(R.array.uddin_body_array);
prof = getResources().getStringArray(R.array.prof_name_array);
ListView listView= findViewById(R.id.uddinListView);
listView.setClickable(true);
listView.setAdapter(new MyCustomAdapter(this,R.layout.activity_list_view,uddin,prof));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent=new Intent(MainActivity.this,ReadingUddinActivity.class);
startActivity(intent);}
}
);
我终于在代码中找到了罪魁祸首。它在 xml 代码中。我的 Java 代码没有错误。但由于自定义适配器视图中的评级栏,它不可点击。
<RatingBar
android:id="@+id/ratingBar"
style="@style/Widget.AppCompat.RatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:numStars="2" />
当我将样式指定为
style="@style/Widget.AppCompat.RatingBar"
列表项防止变为可点击。 但如果我将样式指定为
style="@style/Widget.AppCompat.RatingBar.Small"
或者,
style="@style/Widget.AppCompat.RatingBar.Indicator"
它工作正常。我不知道为什么第一个不起作用。专家可能会找到原因。