Articles of android adapter

是否可以将TableLayout与ArrayAdapter绑定?

是否可以将TableLayout与ArrayAdapter绑定?

CursorAdapter bindView优化

当重写ArrayAdapter我知道使用这样的模式是正确的: if(view != null){ …create new view setting fields from data }else return view; //reuse view 使用CursorAdapters的这种模式也是正确的吗? 我的问题是我有一个根据光标字段可以是红色或蓝色的文本颜色,所以我不希望在具有需要蓝色字段的单元格上出现红色等错误。 我的bindView代码是这样的: if(c.getString(2).equals(“red”)) textView.setTextColor(); else textView.setTextColor(); 如果我重复使用视图,我可以确定红色是红色,而蓝色是蓝色吗?

Listview没有填充,getView()没有被调用

我有一些问题让我的listview显示在我正在编写的简单应用程序中。 由于某种原因,我的适配器类的getView()方法没有被调用。 但是,当在我的适配器类中调用getCount()时,它不返回0但实际上返回了正确的值。 我真的很困惑为什么这不起作用。 这是我的活动: import android.app.Activity; import android.os.Bundle; import android.widget.ListView; public class CardListActivity extends Activity { protected ListView lv; protected int nCards = 12; protected String[] cardList = new String[nCards]; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cardlist); this.loadCardStrings(); lv = (ListView) findViewById(R.id.CardList_ListView); EditorListAdapter adapter = new EditorListAdapter(this, this.cardList); lv.setAdapter(adapter); } protected void loadCardStrings(){ cardList […]

使用AsyncTask在ListView中加载图像

我有一个可以容纳图像的ListView。 这取决于SDCARD中是否存在图像。 这是我的示例代码: public class MainActivity extends Activity { ListView mListView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mListView = new ListView(this); setContentView(mListView); String[] arr = new String[] { “/example/images/1.jpg”, “/example/images/2.jpg”, “/example/images/3.jpg”, “/example/images/4.jpg”, “/example/images/5.jpg”, “/example/images/6.jpg”, “/example/images/7.jpg”, “/example/images/8.jpg”, “/example/images/9.jpg”, “/example/images/1.jpg”, “/example/images/2.jpg”, “/example/images/3.jpg”, “/example/images/4.jpg”, “/example/images/5.jpg”, “/example/images/6.jpg”, “/example/images/7.jpg”, “/example/images/8.jpg”, “/example/images/9.jpg”, “/example/images/1.jpg”, “/example/images/2.jpg”, “/example/images/3.jpg”, “/example/images/4.jpg”, “/example/images/5.jpg”, “/example/images/6.jpg”, “/example/images/7.jpg”, “/example/images/8.jpg”, […]

android notifyItemRangeInserted禁用自动滚动

我使用RecyclerView作为我的数据列表的基础。 我已经实现了基于ArraList的自定义RecyclerView.Adapter。 从互联网上获取数据我正在运行的代码是: public void addItems(List items){ final int size = data.size(); data.addAll(items); notifyItemRangeInserted(size, items.size()); } 问题是,在运行此代码后,我将自动滚动到列表的底部(最后一个元素现在可见) 有没有办法禁用它? 找不到任何类似的问题。 相关信息:我的适配器有2个viewHolders – 对于位置0,它有一个视图(使用viewType 0),对于其余的列表,它有viewType 1的视图 谢谢你的帮助! 罗伊

在使用RecyclerView时,notifydatasetchanged调用onCreateViewHolder

我想使用切换来在两个不同的视图之间切换,但使用相同的RecyclerView 。 基本上,一旦你切换,我希望RecyclerView适配器调用onCreateViewHolder()但这次它将使用不同的布局项文件。 notifydatasetchanged()会导致适配器重建吗? 或者还有另一种方式吗?

Android数据绑定:RecyclerView适配器的可观察列表

通过使用新数据绑定库和MVVM模式中的ObservableList类来避免使用Adapter类中的”notifyItem(s)…”方法,它们是一种方法吗? 或者如果不是,将ObservableList绑定到RecyclerView最简单方法是什么? 感谢任何线索!

Android:自定义列表视图中的单选按钮

我正在开发一个应用程序,我需要在列表视图中实现单选按钮。 我想实现一个列表视图,每行有一个单选按钮和两个文本视图。 列表视图下方有一个“确定”按钮。 我所做的是创建了一个列表视图和一个自定义适配器。 listview的代码如下: 我创建了一个自定义适配器布局: 片段的java代码如下: ListView listView = (ListView) view.findViewById(R.id.listview); // values is a StringArray holding some string values. CustomAdapter customAdapter = new CustomAdapter (getActivity(), values); listView.setAdapter(customAdapter ); listView.setOnItemClickListener(this); @Override public void onItemClick(AdapterView arg0, View arg1, int position, long arg3) {} 适配器的代码如下: public class CustomAdapter extends ArrayAdapter { /** Global declaration of variables. […]

ArrayAdapter的getView()方法的说明

你能解释一下ArrayAdapter的getView()方法吗? 我阅读了文档,它有三个参数: position :项目在我们想要的视图的项目的适配器数据集中的位置。 convertView :如果可能的话,重用旧视图。 注意:在使用之前,您应该检查此视图是否为非null且具有适当的types。 如果无法转换此视图以显示正确的数据,则此方法可以创建新视图。 异构列表可以指定其视图types的数量,以便此View始终是正确的types(请参阅getViewTypeCount()和getItemViewType(int))。 parent :此视图最终将附加到的父级 我理解position参数。 就像他们说的那样,这意味着该项目的位置,已经请求了视图。 convertView来自哪里。 我见过很多例子,他们检查convertView是否为null。 如果is为null,则会为行布局的新实例充气,填充并返回它。 我想我也已经知道了这一点,但还有一件事让我感到困惑。 通过convertViewparameter passing的布局是什么。 是否在初始化ArrayAdapter时传入的resource参数 ? 是getView()返回的最后一个布局的缓存副本? 最后。 parent参数的作用是什么。 我没有看到太多利用它的例子。 他们中的大多数只是重复/膨胀行布局并返回它。 (我问,因为我的ListView有一个点击animation。特别是这个旨在复制Spotify的下拉快速操作菜单 。我的animation有点迟钝。在诊断了这个问题一段时间之后,我意识到这是因为我的getView()方法需要花费一些时间才能完成,因为我在每次迭代中都在为一个新的行布局进行膨胀。有人建议在ViewHolder缓存行布局,而其他示例则指向重用convertView参数,即如果convertView为null,则仅对行布局进行膨胀。)

ListView或TableLayout?

我现在真的很困惑哪一个要学习。 我是一名iPhone应用程序开发人员,现在正在学习Android开发。 我已经学会了如何使用Adapter将ListView与静态字符串数组一起使用。 我习惯在iPhone中使用自定义单元格,主要用于在TableView显示图像和文本等动态内容。 那么在Android中这样做的方法是什么? TableLayout还是ListView ?