Articles of listview

如何列出定位在SD卡上的所有文件和文件夹

我已经创建了一个程序,列出了位于SD卡上的所有文件和文件夹(f&f)。 如果我触摸其中一个列表项(如果它是一个文件夹),则列表显示该文件夹上的faf。 这是源代码 public class FileList extends ListActivity { private File file; private List myList; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); myList = new ArrayList(); String root_sd = Environment.getExternalStorageDirectory().toString(); file = new File( root_sd + “/external_sd” ) ; File list[] = file.listFiles(); for( int i=0; i< list.length; i++) { myList.add( list[i].getName() ); } setListAdapter(new ArrayAdapter(this, […]

Android ListView添加项目到顶部没有列表视图滚动

我有一个listView,我想在列表视图的顶部添加新项目,但我不希望列表视图滚动其内容。 我希望用户在添加新项目之前查看他所看到的相同项目。 这是我向ListView添加新项目的方法: this.commentsListViewAdapter.addRangeToTop(comments); this.commentsListViewAdapter.notifyDataSetChanged(); 这是addRangeToTop方法: public void addRangeToTop(ArrayList comments) { for (Comment comment : comments) { this.insert(comment, 0); } } 这是我的listView: 我想要做的是在用户滚动到顶部时加载旧注释。 感谢您的帮助。

ListView中的重复条目

我在ListView中获得了重复的项目。 向后和向下滚动有时会更改项目顺序。 我用谷歌搜索并发现许multithreading报告了这个错误,但没有一个帮助我解决我的问题。 这是我的代码: 活动: package com.github.progval.SeenDroid; import java.util.ArrayList; import java.util.List; import com.github.progval.SeenDroid.lib.Connection; import com.github.progval.SeenDroid.lib.Message; import com.github.progval.SeenDroid.lib.MessageFetcher; import com.github.progval.SeenDroid.lib.Query.ParserException; import android.app.Activity; import android.app.ListActivity; import android.content.SharedPreferences; import android.os.Bundle; public class ShowUserActivity extends ListActivity { private Connection connection; public ArrayList listMessages = new ArrayList(); public MessageAdapter adapter; /** Called when the activity is first created. */ @Override […]

使用ArrayAdapter for ListView的OnItemClickListener

我想为我使用ArrayAdapter创建的ListView创建一个OnItemClickListener 这是我用来创建它的代码: List values = datasource.some_search(“Wednesday”,”11″); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, values); setListAdapter(adapter); 我如何实现onItemClickListener? 谢谢! 编辑:我在我的ArrayAdapter和ListView中使用一串对象。 编辑2:更多代码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); datasource = new CommentsDataSource(this); datasource.open(); //check if database is populated if NOT, populate with txtToDb(); if (!datasource.isPopulated()) { // Database is not populated so copy it from assets here try […]

如何设置ListView分隔符的宽度?

如何设置自定义ListView分隔符的宽度,以使其小于行宽?

获取不在视图中的ListView子项

对于我正在处理的应用程序,我正在尝试获取ListView的子代。 为此,我有以下代码: View listItem = mListView.getChildAt(i); 但是,这仅适用于视野中的儿童。 我还需要接触那些不在视野中的孩子。 我该怎么办? 编辑: 将建议的方法与我已使用的方法进行比较,我发现以下内容: RelativeLayout listItem1 = (RelativeLayout) mListView.getAdapter().getView(i, null, mListView); RelativeLayout listItem2 = (RelativeLayout) mListView.getChildAt(i); Log.d(“Checks”, “listItem1: ” + listItem1); Log.d(“Checks”, “listItem2: ” + listItem2); 08-27 14:16:56.628: D/Checks(15025): listItem1: android.widget.RelativeLayout@2c5f2920 08-27 14:16:56.628: D/Checks(15025): listItem2: android.widget.RelativeLayout@2c06d938 08-27 14:16:56.628: D/Checks(15025): listItem1: android.widget.RelativeLayout@2c72dfb0 08-27 14:16:56.628: D/Checks(15025): listItem2: android.widget.RelativeLayout@2bfabe50 08-27 14:16:56.638: […]

仅在某些手机中,ListView在notifyDataSetChanged()之后不刷新

这是因为它仅在某些手机中发生,这些分辨率是FHD。 当显示UI时,一切似乎都可以。 当我单击项目并调用notifyDataSetChanged()时,item不会刷新它的外观。 我需要再次点击ListView,项目将刷新布局到正确的外观。 如果列表视图改变大小(例如:搜索function将重新设计整个布局),一切都会变好。 这是ListView代码: public final class MyListView extends ListView implements AdapterView.OnItemClickListener { ArrayList selectList; ArrayList idList; ShowItemAdapter showAdapter; public MyListView(Context context) { selectList = new ArrayList(); idList = new ArrayList(); readIdList(mIdList); showAdapter = new ShowItemAdapter(context, idList, selectList); setAdapter(showAdapter); … } @Override protected void onFinishInflate() { setOnItemClickListener(this); } @Override public void onItemClick(AdapterView parent, […]

Android – ListView没有收到带有可点击链接的文本视图的OnItemClick

我有一个ListView,除了许多其他视图外,每行包含一个TextView。 TextView呈现可能包含链接的html内容。 以下代码显示在列表适配器中。 m_textview.setMovementMethod(LinkMovementMethod.getInstance()); m_textview.setText(Html.fromHtml(myhtmlcontent)); 这会导致listview不再接收点击事件。 我决定将列表onclick代码放在适配器返回的视图上。 这并不是很有效。 现在,当我单击除textview之外的行中的任何位置时,我可以启动另一个活动。 我希望用户能够单击textview的非链接部分并启动另一个活动。 如果我将onclick移动到textview而不是其父视图,它可以工作,但现在点击该链接会触发两个事件 – 一个用于链接的单击,另一个用于textview(这是不需要的)。 我注意到google +并以我想要的方式窥视android工作。 我不确定如何实现。

类似Gmail的ListView带checkbox(并使用ActionBar)

我正在尝试重新制作Google在Gmail应用中使用ListView所做的事情。 特别是,我想让每个列表项包括一个CheckBox和两个TextView(一个在另一个之上)。 检查(或单击)CheckBox时以及单击列表项上的任何其他位置时,我需要侦听器。 最后,我希望ActionBar能够反映选择的项目,并提供Select All,Select None等选项(请参阅此屏幕截图 )。 到目前为止,这是我提出的布局。 这会正确显示所有内容,但我需要有关如何为两个视图设置侦听器的指针( @ + id / checkBox和@ + id / linearLayout1 )。 我查看了List16 API演示 ,但他们使用的是simple_list_item_activated_1布局,我不确定它的XML是什么样的。 正如他们的代码建议的那样,我创建了一个实现ListView.MultiChoiceModeListener的ModeCallback类,并将ListView的选择模式设置为CHOICE_MODE_MULTIPLE_MODAL,但我不知道如何在我的布局中使用CheckBox来处理它。 有没有人成功复制了Gmail应用的ListView行为? 我已经搜索了很多,并且无法想出任何东西(尽管其他几个人提出了类似的问题, 比如这个问题 – 大多数答案只是回到同样的API演示)。 另外,对于上下文,我将数据从SQLite数据库加载到列表中,并且我已经创建了自己的Cursor适配器(工作正常)。 我有一种感觉,我需要在newView()和bindView()方法中在这个类中设置监听器,但我尝试过的一切都没有用。 有任何想法吗?

Android列表视图中未显示顶部和底部分隔符

我理解它的方式,为列表视图定义的分隔符也应该出现在列表的顶部和底部,即在第一个项目之上和最后一个项目之下。 出于某种原因,它们没有出现在我的列表视图中: 将android:footerDividersEnabled设置为true(这是围绕该问题的其他问题中给出的答案)不会改变任何东西。 此外,我没有禁用项目,除非有某种默认的页脚将被禁用。 有任何想法吗? 编辑:当我滚过第一个/最后一个项目然后消失时,顶部和底部分隔线上的分隔线似乎瞬间出现。 它看起来好像接口将继续,只是稍后才意识到这是最后一项,然后禁用分隔符。