Tag: listview

Android Recyclerview vs ListView with Viewholder

我最近遇到了与Android 5.0一起发布的Android RecycleView ,看起来RecycleView只是一个封装RecycleView传统ListView ,并且包含了ViewHolder模式,它促进了视图的重用,而不是每次都创build它。 使用RecycleView的其他好处是RecycleView ? 如果两者在性能上有相同的效果,为什么要select使用RecycleView? 编辑 我发现有人问过类似的问题,答案也没有定论,把它们加在这里作logging。 Recyclerview vs Listview 我们应该使用RecyclerView来replaceListView吗? 为什么RecyclerView没有onItemClickListener()? 以及如何RecyclerView不同于列表视图?

如何自定义listview行android

我有一个名单,我想改变颜色的行取决于名称开头的字母。 这是我用来显示ListView的: main.xml中 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ListView android:id="@+id/listview" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> lisviewrows.xml <?xml version="1.0" encoding="UTF-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> </TextView> main.java public class Main extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); List<String> words = […]

ListView中重复的条目

我在ListView中获得重复的项目。 往回滚动有时会改变项目顺序。 我GOOGLE了,发现许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<Message> listMessages = new ArrayList<Message>(); public MessageAdapter adapter; /** Called when the activity is first created. */ @Override […]

列表视图itemclick不工作

我在我的ListView显示ImageButton中有一个ListView。 我为ImageButton设置了focusalble“false”和focusableInTouchMode“false”。 我设置ListView.OnItemClickListner。 当我运行我的项目这是显示我的ListView。 但是当我点击Listview它不工作。 然后我删除布局中的ImageButton并再次运行我的项目,当我点击ListView它的工作 什么错?

Android的listview行删除animation

什么是最好的方式来animation列表视图行? 我一直在尝试这样的事情: final Animation animation = AnimationUtils.loadAnimation(getActivity(), R.anim.translate_up_fade_anim); animation.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { dataSource.remove(index); adapter.notifyDataSetChanged(); } }); view.startAnimation(animation); 但animation不完全是我想要的。 我想我需要animation每个其他列表视图行,除了删除之一,但我愿意build议。

Android:使用SimpleCursorAdapter从数据库获取数据到ListView

我正在编程一个Android应用程序,应该使用数据库来存储数据并从中读取数据。 使用本教程(在archive.org上),我得到了应用程序来创build一个数据库,我能够创build新的条目,但是,我不知道,如何读取数据库来获取存储在ListView中的数据。 我知道这个网站上有很多类似的问题,但是似乎没有一个适用于教程中的数据库。 码: import java.util.Calendar; import maturarbeit.nicola_pfister.studenttools.database.DBAdapter; import android.app.AlertDialog.Builder; import android.app.ListActivity; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.database.Cursor; import android.os.Bundle; import android.support.v4.widget.SimpleCursorAdapter; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.ListView; public class Marks extends ListActivity { DBAdapter db = new DBAdapter(this); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.marks); } @Override protected void onPause() { […]

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

我有一个连接到ArrayAdapter的ListView,其中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 } }); 第一个debugging语句输出8的计数。这是以​​“bla”开头的列表项的计数,但是适配器没有得到它。 第二个debugging语句打印一个计数1150个项目。 这是列表中项目的完整数量。 所以filter不知道它已经过滤了底层的数据。 我现在想知道:我是否已经在适配器中编写了代码,以便从filter中获取更新? 我是否必须编写自定义filter? 我需要做什么?

如何更改焦点和点击ListView项目的颜色

我有一个列表查看在我的应用程序(这是XML布局): <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/arrayList" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textFilterEnabled="true" android:scrollbars="vertical" android:drawSelectorOnTop="true"> </ListView> 我的列表View中的每个项目都由两个TextView组成: <?xml version="1.0" encoding="utf-8"?> <TableLayout android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/row_container" android:padding="5px" android:layout_height="wrap_content" android:background="@color/white" android:shrinkColumns="0"> <TableRow> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_below="@+id/ description" android:id="@+id/description" android:textColor="@color/black" android:scrollHorizontally="true" android:singleLine="true"></TextView> </TableRow> <TableRow> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/result" android:textColor="@color/grey" android:maxLines="1" android:scrollHorizontally="true"></TextView> </TableRow> </TableLayout> 我从一个ArrayAdapter中填充我的listView,这样: public class Matches extends Activity { /** Called […]

获得点击项目及其在RecyclerView中的位置

我用RecyclerViewreplace我的ListView ,列表显示好,但我想知道如何获得点击项目和它的位置,类似于我们使用的方法OnItemClickListener.onItemClick(AdapterView parent, View v, int position, long id) ListView 。 感谢您的想法!

检测哪个select的项目(在ListView中)产生了ContextMenu(Android)

我有一个ListView ,将允许用户长按项目来获取上下文菜单。 我遇到的问题是确定他们长期按下哪个ListItem 。 我试过这样做: myListView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { @Override public void onCreateContextMenu(ContextMenu menu, final View v, ContextMenuInfo menuInfo) { menu.add("Make Toast") .setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { String toastText = "You clicked position " + ((ListView)v).getSelectedItemPosition(); Toast.makeText(DisplayScheduleActivity.this, toastText, Toast.LENGTH_SHORT).show(); return true; } }); } }); 但只是挂起,直到ANRpopup。 我怀疑菜单创build后,不再selectListItem 。 看起来您可以监控点击或长时间点击,然后在那里logging点击的项目: mArrivalsList.setOnItemLongClickListener(new OnItemLongClickListener() { […]