Articles of android arrayadapter

使用GUID或字符串作为ID的hasStableIds适配器

我正在实现一个自定义的ArrayAdapter ,我想将hasStableIds设置为true。 但是我的T项的ID是字符串 , getItemId方法返回long 。 所以,我目前正在做的是: @Override public boolean hasStableIds() { return true; } @Override public long getItemId(int position) { return this.getItem(position).getId().hashCode(); } 其中getId()返回一个String。 这是使用String ID的正确解决方案吗? 特别是,对于这种情况,String Ids是GUID,有更好的选择吗?

过滤后ListView不更新

我有一个ListView(带有setTextFilterEnabled(true))和一个自定义适配器(扩展ArrayAdapter),每当添加/插入新项目时,我都会从主UI线程更新。 一切都工作正常 – 新项目立即显示在列表中。 但是,当我尝试过滤列表时,这就停止了。 过滤工作,但我做了一次,我所有成功修改列表内容(添加,删除)的尝试都不再显示。 我使用Log来查看适配器的列表数据是否正确更新,确实如此,但它不再与显示的ListView同步。 是什么导致了这个以及如何最好地解决这个问题?

Android notifyDataSetChanged

我有一个列表,其中填充了自定义ArrayAdapter 。 我想每秒更新一个进度条,所以我尝试使用notifyDataSetChanged()来重新绘制列表,但它似乎不起作用。

如何将项添加到Spinner的ArrayAdapter?

我有一个EditText,一个按钮和一个微调器。 单击该按钮时,微调器将添加一个新项目,其中包含您在EditText中输入的名称。 但问题是,我的adapter.add()方法似乎不起作用……这是我的代码: public class Spr extends Activity { Button bt1; EditText et; ArrayAdapter adapter; Spinner spinner; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bt1 = (Button)this.findViewById(R.id.bt1); et = (EditText)this.findViewById(R.id.et); spinner = (Spinner)this.findViewById(R.id.spr); adapter = ArrayAdapter.createFromResource( this, R.array.planets_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String temp = et.getText().toString(); […]

listview没有用notifydatasetchanged()调用更新

这是我的代码 listview =(ListView) findViewById(R.id.lv1); ArrayList Monday = new ArrayList(); SClass s1=new SClass(); s1.sName=”samp”; s1.salary=1000; Monday.add(s1); temp=Monday; adapter = new CustomAdap(this, temp); listview.setAdapter(adapter); 上面的代码工作正常。但是当我将代码更改为此时 listview =(ListView) findViewById(R.id.lv1); adapter = new CustomAdap(this, temp); SClass s1=new SClass(); s1.sName=”samp”; s1.salary=1000; Monday.add(s1); temp=Monday; listview.setAdapter(adapter); adapter.notifyDataSetChanged(); Listview没有显示任何内容。问题是什么?

为什么getView在SeparatedListAdapter上返回错误的convertView对象?

我根据我的需要改编了Jeff Sharkey的SeparatedListAdapter,得到了这样的结果: public class SeparatedListAdapter extends BaseAdapter { @SuppressWarnings(“unused”) private final String LOG_TAG = getClass().getSimpleName(); public final static int TYPE_SECTION_HEADER = 0; public final Map sectionAdapters; public final ArrayAdapter headerAdapter; public SeparatedListAdapter(ArrayAdapter headerAdapter) { super(); this.sectionAdapters = new LinkedHashMap(); this.headerAdapter = headerAdapter; } public void addSection(T section, Adapter adapter) { this.headerAdapter.add(section); this.sectionAdapters.put(section, adapter); } public […]

Android微调器显示对象引用而不是字符串

好的,我的旋转器有问题。 它填充了从Web服务中提取的数据。 我遇到的问题是,当没有点击微调器而不是显示微调器中第一个项目的字符串时,它会显示一个对象引用。 我已经查看了相关的问题,但仍然看不到我缺少什么,是否像缺少toString参考一样简单? 这是填充微调器的代码 private void buildDrinkDropDown() { List apiParams = new ArrayList(1); apiParams.add(new BasicNameValuePair(“call”, “drinkList”)); bgt = new BackGroundTask(MAP_API_URL, “GET”, apiParams); try { JSONArray drinks = bgt.execute().get(); for (int i = 0; i < drinks.length(); i++) { JSONObject d = drinks.getJSONObject(i); String id = d.getString(TAG_ID_DRINK); String createdAt = d.getString(TAG_CREATED_AT); String updatedAt = d.getString(TAG_UPDATED_AT); […]

调用ArrayAdapter中的getView()时

在android中为ListView创建自定义adapter ,我看到我必须创建一个扩展ArrayAdapter类的类并实现getView(..)方法。 所有这一切都没问题,但我想知道调用方法和执行的顺序。 即在哪个代码点调用getView() ?

使用arrayadapter过滤ListView

我正在尝试使用arrayadapter过滤listview。 arraydapter参数是String [] []。 问题是任何事情都会发生。 我必须覆盖Filter接口? 在那种情况下,有人可以提供一些提示吗? 我试图过滤的数组的每个位置都是这样的 galleryValues[0][0] -> “tiulo” [0][1] -> “desc” [0][2] -> “etc” 我试图过滤它: lstContinente = (ListView)findViewById(R.id.list); lstContinente.setTextFilterEnabled(true); adapter = new PortaitArrayAdapter(cx,galleryValues); lstContinente.setAdapter(adapter); ed_busqueda.addTextChangedListener(new TextWatcher() { public void afterTextChanged(Editable s) {} public void beforeTextChanged(CharSequence s, int start, int count, int after) { // TODO Auto-generated method stub } public void onTextChanged(CharSequence […]

如何在android的ArrayAdapter中覆盖filter?

我有一个ArrayAdapter包裹自定义对象的ArrayList。 我想为该适配器编写一个自定义filter,这样当我调用getListAdapter().getFilter().filter(“abc”) ,列表将通过“abc”的任意变换进行过滤。 我想我会尝试覆盖ArrayAdapter.getFilter() ,但这需要我重新实现私有ArrayAdapter.ArrayFilter ,它需要访问一堆ArrayAdapter的私有实例。 最简单的方法是什么?