Java 当GridView和viceversa中的文本为null或空时,如何显示图像?
我已经创建了一个包含图像和文本的gridview。 现在我只想在文本为空或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 =
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也给出了同样的建议。你是第一次工作,但是当我向下滚动图像时,当再次向上滚动时,图像不再显示。我该怎么办?试试这个代码。如果有帮助,请接受我的回答。它成功了,谢谢兄弟。我将永远履行我的公民义务。帮了大忙。我很高兴在这里看到你。玩得开心,伙计你是第一次工作,但是当我向下滚动图像时,当再次向上滚动时,图像不会再次显示。我该怎么办?试试这个代码。如果有帮助,请接受我的回答。它成功了,谢谢兄弟。我将永远履行我的公民义务。帮了大忙。我很高兴在这里看到你。玩得开心,伙计你是第一次工作,但是当我向下滚动图像时,当再次向上滚动时,图像不会再次显示。我该怎么办?试试这个代码。如果有帮助,请接受我的回答。它成功了,谢谢兄弟。我将永远履行我的公民义务。帮了大忙。我很高兴在这里看到你。玩得开心,伙计你是第一次工作,但是当我向下滚动图像时,当再次向上滚动时,图像不会再次显示。我该怎么办?试试这个代码。如果有帮助,请接受我的回答。它成功了,谢谢兄弟。我将永远履行我的公民义务。帮了大忙。我很高兴在这里看到你。玩得开心,伙计