Java 所选项目在listview中不工作

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(

我的HomeLayout中有listview android.support.v7.widget.RecyclerView

家庭布局中的代码

按下状态\为工作,但状态\未选择工作。为什么?泰
我希望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());
            }
        });
    }