Articles of listview

列表项目按钮不再可点击

我有一个列表项,里面有一个按钮。 显示按钮时,列表项不再可单击。 为了使其可以再次点击,我已用视图替换了该按钮。 问题是,当单击列表项时,该按钮会更改背景图像(就像单击它一样)。 如何避免这种不良行为? 谢谢

getLastVisiblePosition返回-1

我的ListView有问题(使用CursorAdapte r)。 当我调用getListView().getLastVisiblePosition()我收到-1 。 这是一个问题,因为我的列表中填充了项目。 此外, getListView().getFirstVisiblePosition()始终返回0,无论我在列表中滚动的位置。 有任何想法吗? 它与startManagingCursor有关 @Override public void changeCursor(Cursor cursor) { super.changeCursor(cursor); MyActivity.this.mCursor = cursor; //startManagingCursor(MyActivity.this.mCursor); } 如果我注释掉startManagingCursor,一切正常。 我还尝试在更改Cursor之前添加stopManagingCursor()并仍然stopManagingCursor()同样的问题。

在onCreateViewHolder中获得位置

我正在使用Support Library v7将ListView转换为RecyclerView。 我有两种不同的布局可以在RecyclerView加载。 在ListView ,我在getView()方法中获取项的位置,并能够为该行加载适当的布局。 但在RecyclerView , onCreateViewHolder没有position参数。 有没有其他方法来实现这一目标? PS:来自Google的收件箱应用程序在RecyclerView显示不同的布局(可能是)。 由于RecyclerView的性能改进,我认为他们可能没有使用过ListView @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { View v=null; MyVO vo = voList.get(???POSITION???); switch(vo.getType()){ case TYPE_1: v = LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.layout1, viewGroup, false); break; case TYPE_2: v = LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.layout2, viewGroup, false); break; } return new ViewHolder(v); }

如何在ListView中处理多个倒计时器?

我有一个listview(带有自定义列表适配器),我需要在每一行显示一个倒计时。 例如,如果我的列表包含4个项目,我将有4行。 此时,我需要处理4个不同的倒计时(每行一个),因为时间不同。 到目前为止,我正在通过以下方式处理它:在自定义列表适配器中,在getView()方法内部,我创建一个新的CountDownTimer并在TextView中显示剩余时间。 但问题是它会使活动减慢很多,我甚至无法在最坏的情况下正确滚动(因为每次显示一行时,它都会创建一个新的CountDownTimer)。 我搜索了很多更好的解决方案,但没有人满意。 是否有更清洁,更流畅的解决方案来处理listView中的多个倒计时器? 谢谢

listview addFooterView问题

我有内容我需要显示在我的列表视图上方和下方,如果您可以一起使用滚动视图和列表视图,滚动视图将非常好用。 既然那不是最好的解决方案,我一直试图做一些事情来添加页脚内容到我的列表视图, 这里下面的图片显示了当我添加不同types的行作为最后一行时会发生什么。 我无法获取我的内容来填充行的宽度 我有一些需要进入页脚的按钮。 我正在使用扩展BaseAdapter的自定义适配器。 我也尝试过使用addFooterView,但是如果你要实现自己的适配器,我会对如何使用addFooterView方法感到困惑。 任何人都有任何关于如何在自定义适配器上实现addFooterView的简单示例 要么 有没有办法让我可以在这个位置获得行(如图所示)以更好地显示,这里是我用来创建这个页脚行的代码 View v = getLayoutInflater().inflate(R.layout.item_listview_footer, null); LinearLayout ll = (LinearLayout) v.findViewById(R.id.ll); return ll; // return ll as convertView in getView function 编辑: 这是我的页脚布局的xml 这是样式/按钮的xml wrap_content fill_parent 17px bold sans center center 标准风格 wrap_content wrap_content

如果使用CursorAdapter,如何更新ListView?

我问的原因是因为不推荐使用requery() 。 现在刷新ListView的最佳方法是什么?

计算ListView中列表项的总数

如何计算ListView中列表项的总数? 我正在编写一个教会应用程序,其中我使用存储在SD卡中的图像填充列表,但现在我想计算列表项的总数。 // to upload whole list for(int position = 0; position < lstView.getAdapter().getCount(); position++) { flags.put(position, true); } ((BaseAdapter) lstView.getAdapter()).notifyDataSetChanged(); } }); /*** Get Images from SDCard ***/ listSDCardImages = fetchSDCardImages(); // ListView and imageAdapter lstView = (ListView) findViewById(R.id.listSDCardImages); lstView.setAdapter(new ListSDCardImagesAdapter(this)); Toast.makeText(getApplicationContext(), "Total number of Items are:" + String.valueOf(position), Toast.LENGTH_LONG).show(); } 每次我都0

滚动时ListView非常慢(使用ViewHolder / recycle)

更新2011-08-29如果我删除NodePickup中的图像,那么懒散就消失了。 问题是 – 为什么? —- 我又回来尝试一些Android开发了。 我有一个“旧的”HTC Hero手机,所以我启动了一个,做了一些更新,现在再次运行Eclipse和其他。 我在设备上运行了Android 2.1。 我做了一个非常简单的测试应用程序,除了显示一些活动等之外什么都不做。 即使没有数据库连接,也没有从任何网络获取数据的应用程序非常慢。 非常慢。 例如,我有一个带有一些自定义布局项的ListView。 当只添加6-7个项目(这样我滚动)时,滚动时速度非常慢。 此外,我有一些按钮可以更改活动,而且非常慢: mButtonListenerUPP = new OnClickListener() { @Override public void onClick(View v) { Intent myIntent = new Intent(BaseActivity.this, ActivityMain.class); BaseActivity.this.startActivity(myIntent); } }; 我无法弄清楚为什么,所以我只是在这里发布代码并希望有人给我一些提示=) 谢谢! 适配器,NodeRowAdapter import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Context; import android.view.*; import android.widget.ArrayAdapter; import android.widget.TextView; public class […]

Android:动态更改Listview中的图像

我有一个由以下xml定义的列表视图。 当用户点击任何行时,我需要在运行时切换列表中的图像 。 我怎样才能做到这一点? 任何帮助都非常感谢。 谢谢 //list_item.xml

Android列表视图,滑动到动作

我有一些文字的listview。 我想在滑动动作上显示图像(几乎就像在gmail应用程序中一样)。 例如,如果我从左向右滑动 – 我的列表项向右移动,图像从左侧滑动。 我的列表项可以向右移动不超过图像宽度。 滑动停止后,列表项目将移动到开始位置。 我怎么能这样做?