Articles of android arrayadapter

android.R.layout.simple_spinner_dropdown_item与android.R.layout.simple_spinner_item的区别

这是在android中使用微调器的示例代码: Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.gender_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); 我知道我们需要为适配器中的数据行指定布局 但为什么再次使用setDropDownViewResource()方法。 我的意思是这个函数做了什么,并告诉我它与ArrayAdapter的构造函数有什么不同。 我已经阅读了文档,但完全不了解。

使用ArrayAdapter和Filter的Android AutocompleteTextView

背景信息 我目前正在撰写的应用程序处理地点。 创建场所的主要方法是输入地址。 提供便捷的方法对于UX来说非常重要。 当前解决方案 在调查问题一段时间后,我得出的结论是,最好的方法是根据当前位置和用户输入自动完成的文本区域(如Google Map应用程序中)。 由于Google Map API不提供此function,我必须自己实现。 目前的实施 为了获得地址建议,我使用Geocoder 。 这些建议由自定义ArrayAdaptor通过自定义filter提供给AutoCompleteTextView 。 ArrayAdapter(某些代码已被删除) public class AddressAutoCompleteAdapter extends ArrayAdapter { @Inject private LayoutInflater layoutInflater; private ArrayList suggested; private ArrayList lastSuggested; private String lastInput = null; private AddressLoader addrLoader; public AddressAutoCompleteAdapter(Activity activity, AddressLoaderFactory addrLoaderFact, int maxSuggestionsCount) { super(activity,R.layout.autocomplete_address_item); suggested = new ArrayList(); lastSuggested = […]

ArrayAdapter.getPosition(item)返回什么?

我看到文档说这个方法返回给定项的位置,但是如果ArrayAdapter中不存在这样的项,它会返回什么?

ListView中的自定义过滤ArrayAdapter

我是Android的初学者,但我尝试进行自定义列表视图过滤,我以某种方式工作。 我唯一的问题是我保留所有值(“原始”ArrayList)的ArrayList在每个过滤中的项目上越来越低。 我无法解释这一点,但我认为你可以以某种方式帮助我。 无论如何这里是Custom ArrayAdaptor: public class PkmnAdapter extends ArrayAdapter { private ArrayList original; private ArrayList fitems; private Filter filter; public PkmnAdapter(Context context, int textViewResourceId, ArrayList items) { super(context, textViewResourceId, items); this.original = items;//new ArrayList(); this.fitems = items;//new ArrayList(); } @Override public void add(Pkmn item){ original.add(item); } @Override public View getView(int position, View convertView, ViewGroup […]

Android如何知道哪个checkbox被选中

我正在做我的第一个Android应用程序,我遇到了一个问题,我无法在Google上find答案。 我想要一个带有checkbox的项目列表。 我希望项目本身和checkbox都是可点击的。 public class MyItem extends ListActivity { private ArrayList<MyItem> items; public void onCreate(Bundle savedInstanceState) { /* code which creates instances of MyItem and inserts them on the *list* variable */ MyArrayAdapter adapter = new MyArrayAdapter(this, R.layout.my_item, list); setListAdapater(adapter); setContentView(R.layout.items_list); } public onListItemClick(ListView l, View v, int position, long id){ //handles the click on […]

Android – 自定义ArrayAdapter类中的notifyDataSetChange

我有一个名为InteractiveArrayAdapter的自定义ArrayAdapter,它将button和button侦听器添加到列表视图中的每个项目。 在适配器内部有一个getView方法来创build一个视图充气机。 这里面是我的button创build和buttonListener创build的地方。 当button被点击时,我删除与该button相关联的ArrayList中的元素。 问题是,我不知道如何从这个OnClick方法中调用notifyDataSetChange,或另一种方式来通知适配器,listView需要更新。 自定义适配器 public class InteractiveArrayAdapter extends ArrayAdapter<String> { private final List<String> list; private final Activity context; private ListView listV; public InteractiveArrayAdapter(Activity context, List<String> list) { super(context, R.layout.rowbuttonlayout, list); this.context = context; this.list = list; } static class ViewHolder { protected TextView text; protected Button button; } @Override public View getView(int position, […]

ArrayAdapter使用Kotlin android

对不起我的英语不好。 我学习kotlin,现在我需要写ArrayAdapter,但我有一些错误,当尝试做这个convertView = vi.inflate(resource, null) kotlin说我Val cannot be reassigned 。 在网站kotline我转换java类到kotlin类,并尝试做像这个网站。 为什么我有错,我该如何解决这个问题? open class MyAdapter(context: Context, resource: Int, list: ArrayList<MyItems>) : ArrayAdapter<MyItems>(context, resource, list) { var resource: Int var list: ArrayList<MyItems> var vi: LayoutInflater init { this.resource = resource this.list = list this.vi = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater } override fun getView(position: Int, convertView: View?, parent: […]

重写Android ArrayAdapter

我想做一个非常简单的事情。 我有我的应用程序中的dynamic添加文本的列表视图。 但是,在某一点之后,我想改变列表视图中文本的颜色。 所以,我做了一个定义我的自定义列表项的XML,并对ArrayAdapter进行了子类化。 但是,每当我在我的自定义ArrayAdapter上调用add()方法时,一个项目就会被添加到列表视图中,但文本不会被放入它。 这是我的XML:` <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/list_content" android:textSize="8pt" android:gravity="center" android:layout_margin="4dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#FF00FF00"/> 和我的ArrayAdapter子类: private class customAdapter extends ArrayAdapter<String> { public View v; public customAdapter(Context context){ super(context, R.layout.gamelistitem); } @Override public View getView(int pos, View convertView, ViewGroup parent){ this.v = convertView; if(v==null) { LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); v=vi.inflate(R.layout.gamelistitem, null); } if(timeLeft!=0) { TextView […]

如何刷新Android列表适配器,因此它显示新增项目

我正在做一个项目。 它只是显示一个任务列表,并添加新的任务。 我有3个CLASSES。 一个用于添加,一个用于查看,另一个用于保存所有信息(或者我认为)。 我已经在我的列表中有2个任务,并且显示正确。 问题是,当我添加一个新的任务,它不会显示在视图中。 我尝试了许多可能的解决scheme: 只需将项目添加到列表 创build一个新的列表,包含旧的和重build适配器的项目; 使用notifyDataSetChanged(); 与add()命令一起; 等等 这是我的代码,有点乱,但我希望你能弄明白。 AndroidListAdapterActivity类: public class AndroidListAdapterActivity extends ListActivity { /** Called when the activity is first created. */ Button b1; Lista o; ArrayAdapter aa; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); b1=(Button)findViewById(R.id.add); Log.w("POC", "PA OVO SE ZOVE SVAKI PUT"); o=new Lista(); o.lis.add("S1"); o.lis.add("S2"); […]

如何禁用我的ListView中的项目

我有一个ListView设置在我的AlertDialog在Android中,我试图添加分隔符作为标题标题,以帮助组织信息。 我想出了如何显示他们…但他们仍然可以由用户select,这是不好的。 有没有一种方法来禁用可在Android ListViewselect的项目? 我发现一个方法isEnabled(int position)来查看一个项目是否启用,但没有看到它是否被禁用。