Articles of listview

将CheckBox添加到ListView项会阻止它接收ItemClick

在ListView的Adapter中,我返回一个LinearLayout,在其中我添加了一个Checkbox,一个ImageView和一个TextView。 这基本上构造了一个ListView,其中每个项目包含一个Checkbox,一个ImageView和一个TextView。 然而奇怪的是,如果我不添加Checkbox,那么ListView会正确接收onItemClick事件,只要我添加Checkbox,ListView的onItemClick就不会再次被触发,就像Checkbox吃掉所有传递给它的OnClick事件一样列表显示。 任何想法如何解决这个问题? 我希望用户能够选中/取消选中checkbox,同时也可以点击这些ListView项目,如果他们点击ListView项目的区域而不是checkbox。

ListView可以存储多少项?

我是Android编程的新手。 我想知道ListView可以存储多少项? 我在文档中搜索,但他们没有谈论这个。 如果我将很多(可能是10k)的项目放入ListAdapter会对性能产生什么影响呢? 干杯,MK。

Android:如何制作具有稳定ID的适配器?

我已经从BaseAdapter扩展了我自己的自定义适配器以显示列表视图等等…… 我希望它支持单选和多选,所以它必须有稳定的ID。 我已经使用ADAPTER.hasStableIds()进行了检查,结果为false。 我已经克服了这种方法,试图在没有运气的情况下获得稳定的id。 public long getItemId(int position) { return (long) getItem(position).hashCode(); } 知道怎么做吗? 谢谢!

Android:ListView中的多个同时倒计时器

我正在创建一个应用程序,它需要一个具有未确定数量元素的ListView,每个元素都有一个从variables号倒计时的计时器。 我能够成功地使其中一个倒计时,但我无法弄清楚如何在ListView的每个元素中包含一个计时器。 我目前正在使用CountDownTimer (如果从网站上复制,请确保将D大写,他们有错误)。 非常感谢任何指向正确方向的代码或来源。 这是我当前的EventAdapter类,它设置每个ListView元素的TextView中显示的文本。 我需要做的是使TextView每秒倒计时。 由于ListView的每个元素都显示不同的东西,我想我需要一种区分每个元素的方法。 我可以每秒更新整个列表,但是我还没有包含其他元素,例如从互联网上加载的图像,每秒刷新一次是不切实际的。 private class EventAdapter extends ArrayAdapter { private ArrayList items; public EventAdapter(Context context, int textViewResourceId, ArrayList items) { super(context, textViewResourceId, items); this.items = items; } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = […]

在Android中以编程方式创建带有自定义列表项的ListView – 无xml列表项布局

正如我在之前提出的问题中所看到的,在自定义适配器类(例如,MyAdapter扩展ArrayAdapter)中,它们总是使用膨胀的xml列表项布局。 我希望做的是完全使用Java创建所有内容,而不是使用XML … // for example String[] wordlist = new String[] {a, b, c}; LinearLayout list_item_layout = new LinearLayout(this); list_item_layout.setId(5000); TextView listText = new TextView(this); listText.setId(5001); listLayout.addView(listText); ListView list = new ListView(this); // ** QUESTION ** do I declare a programmatic .setAdapter() like this? // ** TAKE NOTE ** I passed ‘wordlist’ here.. list.setAdapter(new MyAdapter(this, […]

ListView onClick事件不会使用链接的电子邮件地址触发

我有一个带有ListAdapter的直接ListView和用于列表的自定义onItemClick方法。 我的ListView项目可以单击以执行其他function。 但是,我的一些ListView元素包含一个也应该可以点击的电子邮件地址。 我find了Linkify,并根据文档将其添加到电子邮件地址textview中。 执行此操作后,包含此类“可单击”文本视图的ListView项目现在不再可单击以执行其他function。 我在创建整个视图后尝试添加OnItemClickListener,但无济于事:( 有什么想法如何让我的ListView项目可点击,尽管它们包含一个Linkified textView? 我最深的抱歉是在开始提问之前不再进一步搜索。 我find了问题的答案,并将其作为答案发布。

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) {} }); 正如你在上面所看到的,我从来没有做任何会改变选择突出显示的默认行为的东西,为什么现在会有所不同,也许你看到我看不到的东西?