Java 所选项目在listview中不工作
我的HomeLayout中有listview android.support.v7.widget.RecyclerView 家庭布局中的代码 按下状态\为工作,但状态\未选择工作。为什么?泰Java 所选项目在listview中不工作,java,android,listview,Java,Android,Listview,我的HomeLayout中有listview android.support.v7.widget.RecyclerView 家庭布局中的代码 按下状态\为工作,但状态\未选择工作。为什么?泰 我希望XML文件的解决方案您需要实现listView onClick,如下所示: listContent.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(
我希望XML文件的解决方案您需要实现listView onClick,如下所示:
listContent.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String item = ...;
Toast.makeText(getBaseContext(), item, Toast.LENGTH_LONG).show();
}
});
不久前,我也遇到了类似的问题。请改为尝试“已选中状态”或“已激活状态”。在适配器中写入以下内容:
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int i) {
final GridItem nature = mItems.get(i);
viewHolder.tvspecies.setText(nature.getName());
viewHolder.imgThumbnail.setImageResource(nature.getThumbnail());
viewHolder.imgThumbnail.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("CLick",nature.toString());
}
});
}
这是一种对我有效的方法。当然,您需要使用您的ID我希望XML文件的解决方案我希望XML文件的解决方案为什么如果XML可以选择更改所选项目的颜色为什么不使用java方式?我使用xamarin.android
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<shape android:shape="rectangle"/>
<solid android:color="#333333" />
</item>
<item android:state_pressed="true" >
<shape android:shape="rectangle"/>
<solid android:color="#333333" />
</item>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#b3b3b3"
android:endColor="#e6e6e6"
android:angle="90"/>
<corners
android:topLeftRadius="5dp" android:topRightRadius="5dp" android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp" >
</corners>
</shape>
</item>
</selector>
listContent.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String item = ...;
Toast.makeText(getBaseContext(), item, Toast.LENGTH_LONG).show();
}
});
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int i) {
final GridItem nature = mItems.get(i);
viewHolder.tvspecies.setText(nature.getName());
viewHolder.imgThumbnail.setImageResource(nature.getThumbnail());
viewHolder.imgThumbnail.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("CLick",nature.toString());
}
});
}