Articles of listview

Android – 使用ArrayAdapter一次向ListView添加和显示项目

我正在使用ArrayAdapter将项目添加到自定义ListView并在我的Android应用程序中显示结果。 我遇到的问题是ArrayAdapter在显示视图之前似乎要等到所有项目都在其中。 也就是说,当我将项添加到ArrayAdapter并调用notifyDataSetChanged时,它不会更新ListView以显示添加的项。 它等待直到添加所有项目并在显示项目之前调用GetView。 我想要做的是在将项目添加到ListView后立即显示该项目。 这可能吗? 我相信相关的代码如下: r_adapter = new ReminderAdapater(Activity_ContentSearch.this, R.layout.search_listitem, myList); listView.setAdapter(r_adapter); … r_adapter.notifyDataSetChanged(); r_adapter.clear(); for(int i = 0; i < myList.size(); i++) { r_adapter.add(myList.get(i)); r_adapter.notifyDataSetChanged(); } 如您所见,即使我在add方法之后调用notifyDataSetChanged,它实际上也不会更新视图。 在完成上面的循环之后,视图最终会更新(基于我所知道的,因为在完成代码的这一部分之后才会调用GetView)。 我试图覆盖我的自定义ArrayAdapter的add方法而没有运气,因为我无法访问该方法中的视图。 欢迎任何帮助:) 巴拉

碎片被销毁后停止处理程序

我有一个Fragment设置ListView并创建一个Handler来定期更新Listview 。 但是,看起来Handler在Fragment被破坏后仍然运行。 以下是代码。 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //boilerplate code final Handler handler = new Handler(); handler.post(new Runnable() { @Override public void run() { assignAdapter(); handler.postDelayed(this, 15000); } }); return v; } 破坏Fragment后更新ListView会导致应用程序崩溃。 当Fragment被破坏时,如何使Handler停止? 我还想知道如果暂停应用程序对Handler有什么影响。

如何在android中“顺利”加载Listview

我将数据从Cursor加载到listview,但我的Listview并没有真正显示“平滑”。 当我在ListView中的scollbar上上下拖动时,数据会发生变化。 有些项目看起来像我的列表中的重复显示。 我有一个“复杂的ListView”(两个textview,一个imageview)所以我用newView(),bindView()来显示数据。 有人能帮我吗?

Android列表视图不再突出显示选择onclick

我有一个列表视图,当我触摸它们时,它会显示项目上的黄色图标。 所有我做的不同的是更改listview xml中的背景图像,现在它不再显示yellowtint 这是代码 列表视图xml,它只是一个带有背景图像的textview: 在另一个布局中调用它的位置 这是代码: lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView arg0, View arg1,int arg2, long arg3) {} }); 正如你在上面所看到的,我从来没有做任何会改变选择突出显示的默认行为的东西,为什么现在会有所不同,也许你看到我看不到的东西?

Android为ListView添加页脚addFooterView()?

我有一个ListView活动需要一个页脚到项目列表,以便您可以单击它,它会将更多项目加载到列表中。 该列表支持我的字符串映射支持的SimpleAdapter,在设置适配器之前我这样做是为了添加页脚: mInflater.inflate(R.layout.list_load_more_row, null); TextView footer = (TextView) findViewById(R.id.loadMore); getListView().addFooterView(footer); setListAdapter(ListViewHelper.getAdapterForContentList(mContent, this)); 但是我在调​​试器中得到了这个exception java.lang.NullPointerException android.widget.ListView.clearRecycledState(ListView.java:489)android.widget.ListView.resetList(ListView.java:476)android.widget.ListView.setAdapter(ListView.java:417) 什么是错的,如何将我的页脚添加到列表中? [编辑]活动正在使用list_load_more_row.xml:

以编程方式创建ListView

嗨,我是Android新手。 谁能告诉我请问以下代码有什么问题: public class ListApp extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView lText = new TextView(this); lText.setId(0); ListView lView = new ListView(this); String[] lStr = new String[]{“AA”,”BB”, “CC”}; ArrayAdapter lAdap = new ArrayAdapter(this,lText.getId(),lStr); lView.setAdapter(lAdap); lView.setFocusableInTouchMode(true); setContentView(lView); } }

Android:ListView中的自定义分隔符(甚至是项目),取决于项目的内容

我有一个ListView,其中的项目包含有关评级的地点和到当前位置的距离的信息。 这些项目分组: 第1组:500米以内 第2组:500米 – 1公里 第3组:1公里 – 1.5公里 … 对于这些组,项目按其评级排序。 现在我通过我的自定义适配器( BaseAdapter扩展)将这些项目放入ListView ,它完美地运行。 但是,我想要做的是在每个组的每个第一项之前放置一个分隔符。 此分隔符可以是TextView例如500m – 1km,后跟该组中的所有ListView项。 有关如何实现这一点的任何想法?

Android游标错误 – “确保游标在从中访问数据之前已正确初始化…”

我有一个活动,其中一个viewflipper显示一个包含来自mediastore的艺术家的列表,onitem点击显示所选艺术家的专辑列表,然后显示该专辑中的歌曲。 单击一首歌后,它应该使用字符串’title’填充textview。 在此之前,所有游标都工作正常,但最后一个游标似乎以某种方式失去了位置。 谁能告诉我为什么logcat告诉我: 05-07 23:58:54.195: E/AndroidRuntime(1961): java.lang.IllegalStateException: Couldn’t read row 3, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it. 无法读取的特定行因所选择的艺术家/专辑/歌曲而异。 代码如下。 非常感谢您的帮助。 package music.flipper; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.BaseColumns; import android.provider.MediaStore; import android.provider.MediaStore.Audio.AlbumColumns; import android.provider.MediaStore.Audio.ArtistColumns; import android.provider.MediaStore.Audio.AudioColumns; import android.provider.MediaStore.MediaColumns; import android.view.View; import android.widget.AdapterView; […]

如何从适配器知道ListView的项目是否可见?

我有一个连接到ListView的适配器,例如 mJournalAdapter = new JournalAdapter(); journalEntryList.setAdapter(mJournalAdapter); 我想知道我的JournalAdapter内部是否有一些视图(ListView项目)可见,是否可能?

更改所选列表视图项的颜色

我想在按下时更改列表项的颜色 为此,我确实喜欢下面, list_item_selector.xml Selected Pressed 我在colors.xml中设置了颜色,如下所示, #36C170 #9EC136 在我的ListView我写的是这样的, 但是当我点击列表项时,整个背景颜色被改变而不是仅列表项。 我怎么解决这个问题? 有什么办法吗? 谢谢