使用自定义适配器视图时,如何使ListView可单击



我知道这个问题是多次问的,我试图根据其他解决方案来解决,但徒劳无功。我使用ListView使用了CustomAdapterView。我还在XML中设置了可单击的设置。但这不起作用。

我的问题是ListView无法单击的错误是什么?

**另一个有趣的事情引起了我的注意,如果我在Findviewby Resoruce ID或Case中使用"列表....."启动任何ID名称,则" L"字母会自动成为冠军。为什么会发生?

以下部分在ongreate方法中: -

    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"

它可以正常工作。我不知道为什么第一个不起作用。专家可能会找到原因。

相关内容

  • 没有找到相关文章

最新更新