我正在创build一个使用RecyclerView显示的卡片列表,其中每张卡片都有一个button来从列表中删除该卡片。 当我使用notifyItemRemoved()删除RecyclerView中的卡时,它删除项目和animation罚款,但列表中的数据不正确更新。 如果不是这样,我切换到notifyDataSetChanged()然后列表中的项目被删除并正确更新,但然后卡不animation。 有没有人有使用notifyItemRemoved()的经验,知道为什么它的行为不同于notifyDataSetChanged? 以下是我正在使用的一些代码: private List<DetectedIssue> issues = new ArrayList<DetectedIssue>(); @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { // – get element from your dataset at this position // – replace the contents of the view with that element if(position >0){ RiskViewHolder riskHolder = (RiskViewHolder)holder; final int index = position – 1; final DetectedIssue […]
当我重新填充我的ListView ,我从我的Adapter调用一个特定的方法。 问题 : 当我从我的Adapter调用updateReceiptsList ,数据刷新,但我的ListView不反映更改。 问题 : 为什么当我调用notifyDataSetChanged时,我的ListView显示新的数据? 适配器 : public class ReceiptListAdapter extends BaseAdapter { public List<Receipt> receiptlist; private Context context; private LayoutInflater inflater; private DateHelpers dateH; public ReceiptListAdapter(Activity activity, Context mcontext, List<Receipt> rl) { context = mcontext; receiptlist = rl; Collections.reverse(receiptlist); inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); dateH = new DateHelpers(); } @Override public int […]
我的ListFragment代码 public class ItemFragment extends ListFragment { private DatabaseHandler dbHelper; private static final String TITLE = "Items"; private static final String LOG_TAG = "debugger"; private ItemAdapter adapter; private List<Item> items; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.item_fragment_list, container, false); return view; } @Override public void onCreate(Bundle savedInstanceState) { […]
我想在我的Android Application中使用ArrayAdapter的notifyDataSetChanged()方法,但它不适用于我。 我在这里find答案 , notifyDataSetChanged()应该在主线程中运行,但没有这样的例子。 任何人都可以发送一个例子或至less一个链接?!
问题描述: 我面临着一些AutoCompleteTextView的问题,我必须在每次按键后显示build议。 事情是,build议列表像谷歌的build议function一样dynamic。 这意味着应该在用户一直input的时候添加新的build议,并且显示所有匹配的旧build议。 例如 我写“te”,然后显示以前的build议,如“test1”和“test2”,以及我将从Web API获得的新build议。 假设web API给我词“茶”和“紧张”。 现在AutoCompleteTextView将具有“te”作为string,下面显示了所有四个build议。 这正是我正在寻找的。 看起来很简单,但显示出一种奇怪的行为。 我正在使用默认的ArrayAdapter类的实例,我声明全球。 arrayAdapter=new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,suggestions); word.setAdapter(arrayAdapter); build议是ArrayList。 从WebApi获得新的结果,我只是打电话 arrayAdapter.notifyDataSetChanged(); 刷新数据观察者和视图(在我们的例子中是AutoCompleteListView)。 但它closures了build议。 当我不使用notifyDataSetChanged(); 它显示了所有build议,不pipe我input的字符。 我试图用自定义filter的build议,但没有一个是有用的,因为我不能使用notifyDataSetChanged()。 我张贴图像,以避免混淆。 我有一个困惑,为什么notifyDataSetChanged(); 它不工作。 我没有使用相同的arrayAdapter实例列表的任何其他引用。 我真的怀疑这是否是一个参考问题。