首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

过滤后,Android Custom ArrayAdapter不会刷新

过滤后,Android Custom ArrayAdapter不会刷新的问题可能是因为在更新数据源后没有正确地通知ArrayAdapter进行刷新。以下是一种可能的解决方案:

  1. 在更新数据源后,调用ArrayAdapter的notifyDataSetChanged()方法,通知ArrayAdapter数据已更改。
代码语言:java
复制
arrayAdapter.notifyDataSetChanged();
  1. 如果仍然无法刷新,可以尝试在更新数据源后重新设置ArrayAdapter。
代码语言:java
复制
listView.setAdapter(arrayAdapter);
  1. 如果使用的是自定义的ArrayAdapter,确保在自定义的getView()方法中正确地绑定数据。
代码语言:java
复制
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder viewHolder;
    if (convertView == null) {
        convertView = LayoutInflater.from(context).inflate(R.layout.item_layout, parent, false);
        viewHolder = new ViewHolder();
        viewHolder.textView = convertView.findViewById(R.id.text_view);
        convertView.setTag(viewHolder);
    } else {
        viewHolder = (ViewHolder) convertView.getTag();
    }
    viewHolder.textView.setText(getItem(position));
    return convertView;
}

static class ViewHolder {
    TextView textView;
}
  1. 如果问题仍然存在,可以尝试在主线程中更新数据源和刷新ArrayAdapter。
代码语言:java
复制
new Handler(Looper.getMainLooper()).post(new Runnable() {
    @Override
    public void run() {
        arrayAdapter.notifyDataSetChanged();
        listView.setAdapter(arrayAdapter);
    }
});

以上是一些可能的解决方案,具体解决方案需要根据实际情况进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

基于SwipeRefreshLayout的上拉加载控件

实际项目中,后台肯定的接口肯定都是分页的,那么,分页加载也是自然而然的事,下面基于Google原生的下拉刷新控件SwipeRefreshLayout,实现上拉加载更多的功能。...直接上代码: CustomSwipeRefreshLayout.java package com.jackie.sample.custom_view; import android.content.Context...由于SwipeRefreshLayout本身就是下拉加载控件,这样封装后,该控件就具备了下拉刷新上拉加载更多的功能,用法没有任务变化: custom_view.CustomSwipeRefreshLayout...="match_parent" android:layout_height="match_parent" android:scrollbars="none" /> custom_view.CustomSwipeRefreshLayout...android.support.v7.app.AppCompatActivity; import android.widget.ArrayAdapter; import android.widget.ListView

88510
  • 【Android从零单排系列二十】《Android视图控件——ListView》

    一旦数据被添加到适配器,ListView会自动刷新并显示新数据。 点击事件:可以为ListView的列表项设置点击事件监听器,使用户能够对列表项进行交互操作。...invalidateViews():通知ListView刷新所有列表项的视图。  适配器: RecyclerView:RecyclerView是取代ListView的新一代列表视图控件。...ArrayAdapter:ArrayAdapter是基于数组的简单适配器,用于将数据与ListView绑定。它适用于静态的、固定长度的数据集合,例如字符串数组或整数数组。...="10dp" /> 在MainActivity中设置ListView适配器并显示数据(MainActivity.java): import android.os.Bundle; import android.widget.ArrayAdapter...这个简单的示例演示了如何使用ListView和ArrayAdapter来显示一个静态字符串数组。你可以根据需要修改数据源和列表项布局,以适应不同的情况。

    62310

    Android ListView下拉上拉刷新:设计原理与实现「建议收藏」

    《Android ListView下拉/上拉刷新:设计原理与实现》 Android上ListView的第三方开源的下拉刷新框架很多,应用场景很多很普遍,几乎成为现在APP的通用设计典范,甚至谷歌官方都索性在...Android SDK层面支持下拉刷新,我之前写了一篇文章《Android SwipeRefreshLayout:谷歌官方SDK包中的下拉刷新》专门介绍过(链接地址:http://blog.csdn.net...此处出现另外一种设计方案,比如在ListView的footer view中设计一个按钮,假设按钮就叫做“加载更多”,当用户翻到ListView最后见底时候,点击该按钮后才“加载更多”再次发起数据请求加载更多数据...; import android.os.Bundle; import android.widget.ArrayAdapter; public class MainActivity extends Activity...final ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item

    97120

    Android开发笔记(十二)测量尺寸与下拉刷新

    幸亏Android提供了onMeasure函数自动完成了上述计算过程,通常情况下我们的自定义控件也无需重写该方法,除了一些特殊的情况。...在Android规定的测量过程中,主要有三个步骤: 1、获得宽与高的测量模式; 2、按照测量模式进行丈量; 3、获得测量后的宽与高的大小; 获得宽与高的测量模式 首先取到目标视图的宽和高的取值...,如果按照常规处理,非-1也非-2的负数被当作精确值就不会重新适配了。...当然要用一个视图的对象去操作measure aViewObject.measure(widthSpec, heightSpec); 获得测量后的宽与高的大小 这个也简单,获取宽度用getMeasuredWidth...().setAdapter(adapter); 点击下载本文用到的下拉刷新框架代码 点此查看Android开发笔记的完整目录

    1.1K40
    领券