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

如何在检索ListView的项目时显示"正在加载..."文本

在检索ListView的项目时显示"正在加载..."文本,可以通过以下几个步骤实现:

  1. 在ListView的适配器中添加一个布局,用于显示加载中的文本。
  2. 在适配器的getView()方法中,根据数据加载情况显示或隐藏加载中的文本布局。
  3. 在数据加载完成后,通知适配器数据已更新,刷新ListView。

以下是一个简单的示例代码:

代码语言:java
复制
public class MyAdapter extends BaseAdapter {
    private List<String> dataList;
    private Context context;
    private boolean isLoading;

    public MyAdapter(Context context, List<String> dataList) {
        this.context = context;
        this.dataList = dataList;
    }

    @Override
    public int getCount() {
        return dataList.size();
    }

    @Override
    public Object getItem(int position) {
        return dataList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
        if (convertView == null) {
            convertView = LayoutInflater.from(context).inflate(R.layout.list_item, parent, false);
            viewHolder = new ViewHolder();
            viewHolder.textView = convertView.findViewById(R.id.textView);
            viewHolder.loadingTextView = convertView.findViewById(R.id.loadingTextView);
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }

        if (isLoading && position == getCount() - 1) {
            viewHolder.loadingTextView.setVisibility(View.VISIBLE);
            viewHolder.textView.setVisibility(View.GONE);
        } else {
            viewHolder.loadingTextView.setVisibility(View.GONE);
            viewHolder.textView.setVisibility(View.VISIBLE);
            viewHolder.textView.setText(dataList.get(position));
        }

        return convertView;
    }

    public void setLoading(boolean isLoading) {
        this.isLoading = isLoading;
        notifyDataSetChanged();
    }

    static class ViewHolder {
        TextView textView;
        TextView loadingTextView;
    }
}

在数据加载完成后,调用setLoading(false)方法通知适配器数据已更新,刷新ListView。

代码语言:java
复制
myAdapter.setLoading(false);

这样就可以在检索ListView的项目时显示"正在加载..."文本了。

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

相关·内容

领券