1

我正在为我的列表视图使用自定义适配器。这是代码:

    public class ContentAdapter extends ArrayAdapter<Content>{

    private ArrayList<Content> items;

    public ContentAdapter(Context context, int textViewResourceId, ArrayList<Content> objects) {
        super(context, textViewResourceId, objects);
        this.items=objects;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v=convertView;
        if (v==null){
            LayoutInflater inflater=(LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v=inflater.inflate(R.layout.list_items_layout, null);
        }
        Content content=items.get(position);
        if (content!=null){
            TextView nm=(TextView)v.findViewById(R.id.itemname);
            TextView sm=(TextView)v.findViewById(R.id.itemsubname);
            nm.setTextColor(Color.RED);
            nm.setText(content.getName());
            sm.setTextColor(Color.GRAY);
            sm.setText(content.getSubname());
        }
        return v;
    }

R.layout.list_items_layout:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants">

<TextView android:id="@+id/itemname"
    android:textIsSelectable="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=""
    android:textSize="20sp"/>

<TextView android:id="@+id/itemsubname"
    android:textIsSelectable="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=""
    android:textSize="15sp"/>

当我使用 setOnItemClick(listener) 为我的列表视图创建侦听器时,虽然设置了侦听器,但它只能在我单击视图组的空白部分时识别。如果我单击两个 TextView 中的任何一个,它就无法响应。

有没有办法设置一个可以同时监听视图组及其子视图的 OnItemClickListener?

4

0 回答 0