Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当GridView和viceversa中的文本为null或空时,如何显示图像?_Java_Android_Gridview_Android Listview_Android Studio - Fatal编程技术网

Java 当GridView和viceversa中的文本为null或空时,如何显示图像?

Java 当GridView和viceversa中的文本为null或空时,如何显示图像?,java,android,gridview,android-listview,android-studio,Java,Android,Gridview,Android Listview,Android Studio,我已经创建了一个包含图像和文本的gridview。 现在我只想在文本为空或null时显示图像。 即当文本为空或“”时显示图像,当文本存在时隐藏图像 这是我的代码片段 public class fragment_detail_both extends Fragment { GridView mGridView; ProgressBar progress; List<SampleTry> rowItems; public static final String[] web =

我已经创建了一个包含图像和文本的gridview。 现在我只想在文本为空或null时显示图像。 即当文本为空或“”时显示图像,当文本存在时隐藏图像

这是我的代码片段

public class fragment_detail_both extends Fragment {

GridView mGridView;
ProgressBar progress;
List<SampleTry> rowItems;




public static final String[] web = new String[]{

        "Pinterest",
        "Quora",
        "Twitter",
        "Vimeo msndjkcns nzcjkxns nkjcsns",
        "WordPress",
        "Youtube",
        "Stumbleupon",
        "SoundCloud msnd  hekko sdjkl kdksdon",
        "Reddit",
        "Blogger",
        "Github",
        "Instagram",
        "Blogger ",
        "Facebook",
        "Flickr",
        "Pinterest",
        "Quora",
        "Twitter",
        "Vimeo",
        "WordPress",
        "Youtube",
        "Stumbleupon",
        "SoundCloud",
        "Reddit"
};
public static final Integer[] images = {
        R.drawable.image1,
        R.drawable.image2,
        R.drawable.image3,
        R.drawable.image4,
        R.drawable.image5,
        R.drawable.image6,
        R.drawable.image7,
        R.drawable.image8,
        R.drawable.image9,
        R.drawable.image10,
        R.drawable.image11,
        R.drawable.image12,
        R.drawable.image13,
        R.drawable.image14,
        R.drawable.image15,
        R.drawable.image1,
        R.drawable.image2,
        R.drawable.image3,
        R.drawable.image4,
        R.drawable.image5,
        R.drawable.image6,
        R.drawable.image7,
        R.drawable.image8,
        R.drawable.image9,
        R.drawable.image10,
        R.drawable.image11,
        R.drawable.image12,
        R.drawable.image13
};


@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_detail_both, container, false);

    rowItems = new ArrayList<>();
    for (int i = 0; i < web.length; i++) {
        SampleTry item = new SampleTry(web[i], images[i]);
        rowItems.add(item);
    }

    mGridView = (GridView) view.findViewById(R.id.grid_view);

    Detail_adaptor adapter = new Detail_adaptor(getActivity(), rowItems);
    mGridView.setAdapter(adapter);

    progress = (ProgressBar) getActivity().findViewById(R.id.detail_progress);
    progress.setVisibility(View.INVISIBLE);


    return view;
}


}

你可以这样试试

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MyViewHolder holder;

    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.single_layout, parent, false);
        holder = new MyViewHolder();

            holder.textView = (TextView) convertView.findViewById(R.id.grid_text);

        holder.imageView = (ImageView) convertView.findViewById(R.id.grid_image);
        convertView.setTag(holder);
    } else {
        holder = (MyViewHolder) convertView.getTag();
    }

    SampleTry sampleTry = (SampleTry) getItem(position);

    if (sampleTry.getWeb() != null && ! sampleTry.getWeb().isEmpty()) {
        holder.textView.setText(sampleTry.getWeb());
        holder.textView.setVisibility(View.VISIBLE);
        holder.imageView.setVisibility(View.GONE);
    } else {
        holder.imageView.setImageResource(sampleTry.getImagesId());
        holder.imageView.setVisibility(View.VISIBLE);
        holder.textView.setVisibility(View.GONE);
    }

    return convertView;
}

希望它对你有用。

你可以这样试试

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MyViewHolder holder;

    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.single_layout, parent, false);
        holder = new MyViewHolder();

            holder.textView = (TextView) convertView.findViewById(R.id.grid_text);

        holder.imageView = (ImageView) convertView.findViewById(R.id.grid_image);
        convertView.setTag(holder);
    } else {
        holder = (MyViewHolder) convertView.getTag();
    }

    SampleTry sampleTry = (SampleTry) getItem(position);

    if (sampleTry.getWeb() != null && ! sampleTry.getWeb().isEmpty()) {
        holder.textView.setText(sampleTry.getWeb());
        holder.textView.setVisibility(View.VISIBLE);
        holder.imageView.setVisibility(View.GONE);
    } else {
        holder.imageView.setImageResource(sampleTry.getImagesId());
        holder.imageView.setVisibility(View.VISIBLE);
        holder.textView.setVisibility(View.GONE);
    }

    return convertView;
}

希望它对你有用。

你可以这样试试

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MyViewHolder holder;

    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.single_layout, parent, false);
        holder = new MyViewHolder();

            holder.textView = (TextView) convertView.findViewById(R.id.grid_text);

        holder.imageView = (ImageView) convertView.findViewById(R.id.grid_image);
        convertView.setTag(holder);
    } else {
        holder = (MyViewHolder) convertView.getTag();
    }

    SampleTry sampleTry = (SampleTry) getItem(position);

    if (sampleTry.getWeb() != null && ! sampleTry.getWeb().isEmpty()) {
        holder.textView.setText(sampleTry.getWeb());
        holder.textView.setVisibility(View.VISIBLE);
        holder.imageView.setVisibility(View.GONE);
    } else {
        holder.imageView.setImageResource(sampleTry.getImagesId());
        holder.imageView.setVisibility(View.VISIBLE);
        holder.textView.setVisibility(View.GONE);
    }

    return convertView;
}

希望它对你有用。

你可以这样试试

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MyViewHolder holder;

    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.single_layout, parent, false);
        holder = new MyViewHolder();

            holder.textView = (TextView) convertView.findViewById(R.id.grid_text);

        holder.imageView = (ImageView) convertView.findViewById(R.id.grid_image);
        convertView.setTag(holder);
    } else {
        holder = (MyViewHolder) convertView.getTag();
    }

    SampleTry sampleTry = (SampleTry) getItem(position);

    if (sampleTry.getWeb() != null && ! sampleTry.getWeb().isEmpty()) {
        holder.textView.setText(sampleTry.getWeb());
        holder.textView.setVisibility(View.VISIBLE);
        holder.imageView.setVisibility(View.GONE);
    } else {
        holder.imageView.setImageResource(sampleTry.getImagesId());
        holder.imageView.setVisibility(View.VISIBLE);
        holder.textView.setVisibility(View.GONE);
    }

    return convertView;
}
希望它对您有用。

getView()函数中,您必须使用类似的函数

...
if(sampleTry.getWeb().isEmpty() || sampleTry.getWeb() == null){
  holder.imageView.setImageResource(sampleTry.getImagesId());
  holder.imageView.setVisibility(View.VISIBLE);      
  holder.textView.setVisibility(View.GONE);
}else{
  holder.textView.setText(sampleTry.getWeb());
  holder.imageView.setVisibility(View.GONE);
  holder.textView.setVisibility(View.VISIBLE);
}
...
而不是

holder.textView.setText(sampleTry.getWeb());
holder.imageView.setImageResource(sampleTry.getImagesId());
玩得开心。

getView()函数中,您必须使用类似的功能

...
if(sampleTry.getWeb().isEmpty() || sampleTry.getWeb() == null){
  holder.imageView.setImageResource(sampleTry.getImagesId());
  holder.imageView.setVisibility(View.VISIBLE);      
  holder.textView.setVisibility(View.GONE);
}else{
  holder.textView.setText(sampleTry.getWeb());
  holder.imageView.setVisibility(View.GONE);
  holder.textView.setVisibility(View.VISIBLE);
}
...
而不是

holder.textView.setText(sampleTry.getWeb());
holder.imageView.setImageResource(sampleTry.getImagesId());
玩得开心。

getView()函数中,您必须使用类似的功能

...
if(sampleTry.getWeb().isEmpty() || sampleTry.getWeb() == null){
  holder.imageView.setImageResource(sampleTry.getImagesId());
  holder.imageView.setVisibility(View.VISIBLE);      
  holder.textView.setVisibility(View.GONE);
}else{
  holder.textView.setText(sampleTry.getWeb());
  holder.imageView.setVisibility(View.GONE);
  holder.textView.setVisibility(View.VISIBLE);
}
...
而不是

holder.textView.setText(sampleTry.getWeb());
holder.imageView.setImageResource(sampleTry.getImagesId());
玩得开心。

getView()函数中,您必须使用类似的功能

...
if(sampleTry.getWeb().isEmpty() || sampleTry.getWeb() == null){
  holder.imageView.setImageResource(sampleTry.getImagesId());
  holder.imageView.setVisibility(View.VISIBLE);      
  holder.textView.setVisibility(View.GONE);
}else{
  holder.textView.setText(sampleTry.getWeb());
  holder.imageView.setVisibility(View.GONE);
  holder.textView.setVisibility(View.VISIBLE);
}
...
而不是

holder.textView.setText(sampleTry.getWeb());
holder.imageView.setImageResource(sampleTry.getImagesId());


玩得开心。

你是第一次工作,但当我翻阅图像时,图像不会再次显示。我该怎么办?我已经更新了答案。这是因为需要为每一行切换视图的可见性。很抱歉我犯了一个笨拙的错误。很好,我完全理解了需要的想法,但是@EliaszKubala也给出了同样的建议。你第一次工作,但是当我翻阅图像时,图像不再显示。我该怎么办?我已经更新了答案。这是因为需要为每一行切换视图的可见性。很抱歉我犯了一个笨拙的错误。很好,我完全理解了需要的想法,但是@EliaszKubala也给出了同样的建议。你第一次工作,但是当我翻阅图像时,图像不再显示。我该怎么办?我已经更新了答案。这是因为需要为每一行切换视图的可见性。很抱歉我犯了一个笨拙的错误。很好,我完全理解了需要的想法,但是@EliaszKubala也给出了同样的建议。你第一次工作,但是当我翻阅图像时,图像不再显示。我该怎么办?我已经更新了答案。这是因为需要为每一行切换视图的可见性。很抱歉我犯了一个笨拙的错误。效果很好,完全理解了需要的想法,但是@EliaszKubala也给出了同样的建议。你是第一次工作,但是当我向下滚动图像时,当再次向上滚动时,图像不再显示。我该怎么办?试试这个代码。如果有帮助,请接受我的回答。它成功了,谢谢兄弟。我将永远履行我的公民义务。帮了大忙。我很高兴在这里看到你。玩得开心,伙计你是第一次工作,但是当我向下滚动图像时,当再次向上滚动时,图像不会再次显示。我该怎么办?试试这个代码。如果有帮助,请接受我的回答。它成功了,谢谢兄弟。我将永远履行我的公民义务。帮了大忙。我很高兴在这里看到你。玩得开心,伙计你是第一次工作,但是当我向下滚动图像时,当再次向上滚动时,图像不会再次显示。我该怎么办?试试这个代码。如果有帮助,请接受我的回答。它成功了,谢谢兄弟。我将永远履行我的公民义务。帮了大忙。我很高兴在这里看到你。玩得开心,伙计你是第一次工作,但是当我向下滚动图像时,当再次向上滚动时,图像不会再次显示。我该怎么办?试试这个代码。如果有帮助,请接受我的回答。它成功了,谢谢兄弟。我将永远履行我的公民义务。帮了大忙。我很高兴在这里看到你。玩得开心,伙计