Java 我有一个“回收器”视图,将显示onRun,但单击按钮后它将为空,我想设置一个默认的“回收器”视图

Java 我有一个“回收器”视图,将显示onRun,但单击按钮后它将为空,我想设置一个默认的“回收器”视图,java,android,android-recyclerview,Java,Android,Android Recyclerview,我目前有一个回收器视图,它可以在Android studio中根据纬度和经度进行工作。由于使用模拟器而加载时,我会传递一个默认位置,这会加载地图中该位置周围的区域。我也有一个微调器,它允许你改变区域并在屏幕上的地图上显示标记。但是问题是,当我所在的位置是当前位置(设置为默认仿真器位置谷歌像素旧金山)时,Realver视图显示为空,我想在适配器类中编辑我的Realver视图,以便如果视图是空的,将文本设置为“如果您不需要代码,请询问”。p> @Override public voi

我目前有一个回收器视图,它可以在Android studio中根据纬度和经度进行工作。由于使用模拟器而加载时,我会传递一个默认位置,这会加载地图中该位置周围的区域。我也有一个微调器,它允许你改变区域并在屏幕上的地图上显示标记。但是问题是,当我所在的位置是当前位置(设置为默认仿真器位置谷歌像素旧金山)时,Realver视图显示为空,我想在适配器类中编辑我的Realver视图,以便如果视图是空的,将文本设置为“如果您不需要代码,请询问”。p>
    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

        QuietPlace quietPlace = mQuietPlace.get(position);
        if (mQuietPlace.size() > 0){
            TextView textView = holder.titleTextView;
        textView.setText(quietPlace.getName());
        TextView textView2 = holder.noiseTextView;
        textView2.setText(quietPlace.getNoise());
        TextView textView3 = holder.distanceTextView;
        textView3.setText(String.valueOf(quietPlace.getDistance()));
        }
        else {
            TextView textViewEmpty = holder.titleTextView;
            textViewEmpty.setText("No Quiet Places near your location");
            TextView textViewEmpty2 = holder.noiseTextView;
            textViewEmpty2.setText(" ");
            TextView textViewEmpty3 = holder.distanceTextView;
            textViewEmpty3.setText(" ");
        }
    }
编辑:

package com.example.myapplication;
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.Button;
导入android.widget.TextView;
导入androidx.annotation.NonNull;
导入androidx.recyclerview.widget.recyclerview;
导入java.util.List;
公共类QuietReplaceAdapter扩展了RecyclerView.Adapter{
私人名单mQuietPlace;
公共QuietPlaceAdapter(列出quietPlaces)
{
mQuietPlace=quietPlaces;
}
@非空
@凌驾
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType){
Context=parent.getContext();
LayoutFlater充气机=LayoutFlater.from(上下文);
视图quietPlaceView=充气机。充气(R.layout.recycler\u视图,父视图,false);
ViewHolder ViewHolder=新的ViewHolder(quietPlaceView);
返回视图持有者;
}
@凌驾
public void onBindViewHolder(@NonNull ViewHolder,int位置){
QuietPlace QuietPlace=mQuietPlace.get(位置);
TextView TextView=holder.titleTextView;
textView.setText(quietPlace.getName());
TextView textView2=holder.noiseTextView;
textView2.setText(quietPlace.getNoise());
TextView textView3=holder.distance TextView;
textView3.setText(String.valueOf(quietPlace.getDistance());
}
@凌驾
public int getItemCount(){
返回mQuietPlace.size();
}
公共类ViewHolder扩展了RecyclerView.ViewHolder{
公共文本视图titleTextView;
公共文本视图noiseTextView;
公共文本视图距离文本视图;
公共视图持有者(视图项视图){
超级(项目视图);
titleTextView=(TextView)itemView.findViewById(R.id.quietPlaceTitle);
noiseTextView=(TextView)itemView.findViewById(R.id.quietPlaceNoise);
distanceTextView=(TextView)itemView.findViewById(R.id.quietPlaceDistance);
}
}
}

如果列表是动态的,则不要在构造函数中传递该列表

在适配器中添加此函数

public void setPanelList(List<QuietPlace> quietPlaces){

    mQuietPlace = quietPlaces;
    notifyDataSetChanged();
}

希望这有帮助。

看起来不错,那么,你想做什么?你能发布整个适配器文件吗?我阅读了sqlite数据库,如果它返回坐标周围的“安静的地方”,我会在回收器视图中显示它们,并告诉你距离和噪音级别。但是,我只为某些坐标创建了“安静的地方”,所以当我选择数据库没有结果的坐标时,我只想显示一个空的回收器视图,其中的文本说明在ur坐标附近没有“安静的地方”。我将添加Adapater文件。
public void setPanelList(List<QuietPlace> quietPlaces){

    mQuietPlace = quietPlaces;
    notifyDataSetChanged();
}
quietPlaceAdapter.setPanelList(quietPlaces)