【问题标题】:How can I make listview clickable when custom adapter view is used?使用自定义适配器视图时如何使列表视图可点击?
【发布时间】:2018-02-25 15:00:39
【问题描述】:

我知道这个问题被问了好几次,我试图根据其他解决方案来解决,但徒劳无功。我将 customAdapterView 与 listview 一起使用。我还在xml中设置了可点击。但它不起作用。

我的问题是 listview 不可点击的错误是什么?

**另一个有趣的事情引起了我的注意,如果我在 findViewby resoruce id 或 case 期间以“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);}
}
        );

【问题讨论】:

  • 有人帮我吗?

标签: android listview adapter clickable


【解决方案1】:

我终于在代码中找到了罪魁祸首。它在 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"

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多