在片段中,有一个列表视图,我向listview添加一个标题。
有MainActivity.java,我添加了一个click事件。 MyAdapter是我定义的一个类。
MyAdapter adapter;
ListView search_history_list;
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
LinearLayout header = (LinearLayout) inflater.inflate(R.layout.search_listview_header, null);
search_history_list.addHeaderView(header,null,false);
View listheader = inflater.inflate(R.layout.search_listview_header,null);
TextView clearAll = (TextView)listheader.findViewById(R.id.clearall);
adapter = new MyAdapter(getActivity(),list);
search_history_list = (ListView)view.findViewById(R.id.search_history_list);
search_history_list.setAdapter(adapter);
clearAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
list.removeAll(list);
adapter.notifyDataSetChanged();
search_history_list.invalidate();
}
});
clearAll.setEnabled(true);
search_listview_header.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:focusable="true"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="热门搜索"
android:textSize="15sp"
android:layout_marginTop="27dp"/>
<com.shijiebang.offlinemap.commom.view.FlowLayout
android:id="@+id/search_flowLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="14dp">
</com.shijiebang.offlinemap.commom.view.FlowLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="搜索历史"
android:textSize="15sp"
android:layout_marginTop="27dp"/>
<TextView
android:id="@+id/clearall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="清除搜索历史"
android:textColor="#49A2FC"
android:layout_marginLeft="175dp"
android:layout_marginTop="28dp"
android:textSize="14sp"
android:focusable="true"
android:clickable="true"/>
</LinearLayout>
</LinearLayout>
但是当我点击文本视图时,它不起作用。请帮忙。
答案 0 :(得分:0)
您将header
添加为列表视图标头。
但是在另一个视图listheader
实例中找到视图并设置onclick
所以你的setonclick代码将不起作用
试试这个:View listheader = header;
希望这会有所帮助。
答案 1 :(得分:0)
检查完代码后,我看不到视图&#34; listheader&#34;用来。所以我不确定如何点击文本视图。我建议为列表项(即列表的每一行)创建模型和布局,然后实例化自定义适配器中的每一行并设置单击侦听器。要提高列表的性能,可以实现视图持有者。看看http://www.vogella.com/tutorials/AndroidListView/article.html#adapterperformance_holder