Articles of listview

Android:从自定义列表视图中单击的按钮获取列表视图项

我有一个带有两个按钮的自定义ListView,当我单击任何行上的任一行时,我想在Listview上获取文本标签,现在只需popup一个Toast。 到目前为止没有任何工作我继续得到我的数组中的最后一项。 这是一个屏幕截图,让您更好地了解我的意思 这是我的自定义ListView的Adapter子类 static final String[] Names = new String[] { “John”, “Mike”, “Maria”, “Miguel”}; class MyArrayAdapter extends ArrayAdapter { private final Context context; int which; public MyArrayAdapter(Context context, String[] pValues) { super(context, R.layout.main, pValues); this.context = context; values = pValues; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater […]

onItemLongClick参数中RowId和Position之间的差异

我对onItemLongClick(…)的第3和第4个参数感到困惑。 根据AdapterView.OnItemLongClickListener position – 列表中视图的位置 id – 单击的项的行ID 我不能从这些中得到任何意义,请给我建议。

如何检测Android ListView中的过度滚动?

当用户滚动列表视图时,我想显示/隐藏视图。 如何检测过度滚动? 有听众吗? 我已经尝试过OnScrollListener但它只通知onScrollStateChanged和onScroll

如何知道单击的特定ListView项中的哪个视图

我有一个ListView ,我自己的定制适配器派生自BaseAdapter 。 ListView中的每个项都有子项,如ImageView和TextView 。 如何知道用户点击了哪些子项? 例如,是否可以在getView函数中附加一个侦听器,或者这可能是一个问题? /亨利克 编辑:目前我在包含ListView的Activity中有一个onItemClick 。 有没有什么好方法可以通过检查onItemClick的参数来了解ListView中特定项目中的哪个子项目已被按下。 @Override public void onItemClick(AdapterView a, View v, int pos, long id) { . . }

什么是模态选择选择模式?

将ListView的选择模式设置为多个时,我遇到了Android API级别11中引入的常量: CHOICE_MODE_MULTIPLE_MODAL 。 JavaDoc对我帮助不大: public static final int CHOICE_MODE_MULTIPLE_MODAL 该列表允许在模态选择模式中进行多种选择。 什么是模态选择模式? 找不到它。

如何使用addHeaderView()在单个ListView中添加多个标头?

Android的addHeaderView()可用于在单个ListView中添加多个标头吗? 有人可以举例说明如何做到这一点吗? 我能够通过操纵IconicAdapter类来完成我想要的…有什么理由不这样做吗? 我觉得这可以修改为更高级的实现。 在我的情况下,我知道我将有两个部分,每个部分有一个标题+ 2行。 class IconicAdapter extends ArrayAdapter { IconicAdapter() { super(ContactTabProfileResource.this, R.layout.row_iconic, mArrayList); } public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = getLayoutInflater(); View row = null; if(position == 1 || position == 5) { // phone row = inflater.inflate(R.layout.row_iconic, parent, false); TextView label =(TextView)row.findViewById(R.id.label); label.setText(mArrayList.get(position)); ImageView icon […]

更改ListView的文本颜色

我正在尝试更改ListView的文本颜色 ,但我无法find如何做到这一点.. < listViewObject= (ListView) findViewById(R.id.chathlist); ArrayList chatHistory = new ArrayList(); chatHistory.add(“Msg 1”); chatHistory.add(“Msg 2”); chatHistory.add(“Msg 3”); chatHistory.add(“Msg 4”); chatHistory.add(“Msg 5”); chatHistory.add(“Msg 6”); chatHistory.add(“Msg 7”); ArrayAdapter aa=new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, chatHistory); listViewObject.setAdapter(aa); listViewObject.invalidate(); 我尝试了很多方法,但我无法改变颜色。 这可能是一件简单的事情,但我正在与此作斗争。 我的XML文件是

SimpleCursorAdapter,包含Android中的部分

当你使用Cursors和Custom SimpleCursorAdapter时,我对如何在ListView中生成部分感到有点失落。 许多文档使用getView()等引用,或创建多个适配器并添加节头。 但这些似乎都基于BaseAdapters,ListAdapters和ArrayAdapters等。 以前有人处理过类似的事吗? 如果没有,有关如何使这项工作的任何提示? 谢谢西蒙

调用ListView的setEmpty方法不起作用(列表为空时不显示任何内容)

我有一个Activity,它包含一个用XML定义的ListView(它不是ListActivity类的子类)。 我想在ListView为空时显示一条消息,所以我尝试使用setEmptyView方法: listView = (ListView) findViewById(R.id.list); TextView emptyListText = new TextView(this); // also tried with the following line uncommented // emptyListText.setId(android.R.id.empty); emptyListText.setText(getString(R.string.EmptyList)); listView.setEmptyView(emptyListText); 但它没有用。 有任何想法吗? 谢谢。

如何使用ArrayAdapter为ListView编写自定义filter

我有一个ListView连接到ArrayAdapter,其中Artist是我的一个简单类,它只有一个id和一个名字。 现在我想过滤ListView,所以我调用: artistAdapter.getFilter().filter(“bla”, new Filter.FilterListener() { public void onFilterComplete(int count) { Log.d(Config.LOG_TAG, “filter complete! count: ” + count); // returns 8 Log.d(Config.LOG_TAG, “adapter count: ” + artistAdapter.getCount()); // return 1150 } }); 第一个调试语句打印一个8的计数。这是以​​“bla”开头但是适配器没有得到它的listitems的正确计数。 第二个调试语句打印一个计数1150项。 这是列表中的完整项目数。 因此,filter不会告诉适配器它已经过滤了底层数据。 我现在想知道:我的适配器中是否有代码,以便从filter获取更新? 我是否必须编写自定义filter? 我需要做什么?