Articles of android arrayadapter

我在android版本4.3中使用listview添加/删除页脚为listview交叉应用程序?

我曾经在ListView添加页脚视图,也删除页脚在上面的Android版本4.4中工作正常但在Android版本4.3及以下的问题我使用以下代码添加页脚 listfortestmyfeed.addFooterView(footerView); 并删除代码后的页脚 listfortestmyfeed.removeFooterView(footerView); 在我的logcat中删除显示类强制转换exception的页脚 07-11 20:07:49.665: E/ACRA(22818): com.sample.activities fatal error : com.sample.adapters.MyfeedAdapter cannot be cast to android.widget.HeaderViewListAdapter 07-11 20:07:49.665: E/ACRA(22818): java.lang.ClassCastException: com.sample.adapters.MyfeedAdapter cannot be cast to android.widget.HeaderViewListAdapter 07-11 20:07:49.665: E/ACRA(22818): at android.widget.ListView.removeFooterView(ListView.java:390) 07-11 20:07:49.665: E/ACRA(22818): at com.sample.fragments.MyfeedNewFragment$FollowingBloopsdoinback.onPostExecute(MyfeedNewFragment.java:172) 07-11 20:07:49.665: E/ACRA(22818): at com.sample.fragments.MyfeedNewFragment$FollowingBloopsdoinback.onPostExecute(MyfeedNewFragment.java:1) 07-11 20:07:49.665: E/ACRA(22818): at android.os.AsyncTask.finish(AsyncTask.java:631) 07-11 20:07:49.665: E/ACRA(22818): at android.os.AsyncTask.access$600(AsyncTask.java:177) 07-11 20:07:49.665: […]

ArrayAdapter.NotifyDataSetChanged()不起作用?

我有一个可以由用户更新的列表,但notifyDataSetChanged()不能处理与listView关联的适配器。 我在一个片段中使用它。 数据库会更新,但adpater不会。 以下是我的实施: 我的主要信息: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); myArrayList = new ArrayList(); myArrayList = Database.getSharedObject(getActivity()).getMyList(); if (myArrayList != null && myArrayList.size() > 0) { adapter = new myListAdapter(getActivity(), 0, myArrayList); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.mainfragment, container, false); myListView = (ListView) v.findViewById(R.id.my_list_view); […]

android ArrayAdapter项目更新

我有这个项目结构的ArrayAdapter: 并添加此适配器,以便: mAdapter = new ArrayAdapter(this, R.layout.item, R.id.itemTextView, itemsText); 一切都很好,但我想更新适配器项目中的文本。 我find了解决方案 mAdapter.notifyDataSetChanged(); 但不明白如何使用它。 请帮助。 我的代码: String[] itemsText = {“123”, “345”, “567”}; ArrayAdapter mAdapter; 的onCreate mAdapter = new ArrayAdapter(this, R.layout.roomitem, R.id.itemTextView, itemsText); setListAdapter(mAdapter); itemsText = {“789”, “910”, “1011”}; 的onClick mAdapter.notifyDataSetChanged(); //it’s dont work

使用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); […]