Java 如何以编程方式从列表视图隐藏单行(自定义适配器)
我有一个列表视图应用程序,并使用自定义适配器,但我无法从适配器中隐藏特定行 我的代码 -:在java中:-Java 如何以编程方式从列表视图隐藏单行(自定义适配器),java,android,listview,Java,Android,Listview,我有一个列表视图应用程序,并使用自定义适配器,但我无法从适配器中隐藏特定行 我的代码 -:在java中:- 适配器 class Adapter extends ArrayAdapter { int[] imageArray; String[] titleArray; String[] descriptionArray; public Adapter(Context context, String[] titles1, String [] description1
适配器
class Adapter extends ArrayAdapter {
int[] imageArray;
String[] titleArray;
String[] descriptionArray;
public Adapter(Context context, String[] titles1, String [] description1, int[] img1) {
super(context, R.layout.settings_list_row, R.id.settingsTitles, titles1);
this.imageArray = img1;
this.titleArray = titles1;
this.descriptionArray = description1;
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.settings_list_row,parent,false);
ImageView myImage = (ImageView) row.findViewById(R.id.settingsIcons);
TextView myTitle = (TextView) row.findViewById(R.id.settingsTitles);
TextView myDescription = (TextView) row.findViewById(R.id.settingsDescriptions);
myImage.setImageResource(imageArray[position]);
myTitle.setText(titleArray[position]);
myDescription.setText(descriptionArray[position]);
return row;
}
}
主要活动
String [] titles = {"ti1","ti2","ti3","ti4","ti5"};
String [] descriptions = {"de1","de2","de3","de4","de5"};
int [] images = {R.drawable.ic_image,R.drawable.ic_image,R.drawable.ic_image,R.drawable.ic_image,R.drawable.ic_image};
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_view);
lv = (ListView) findViewById(R.id.listView);
final Adapter adapter = new Adapter(getApplicationContext(), titles, descriptions, images);
lv.setAdapter(adapter);
}
-:删除:-
adapter.remove(位置==0)代码>
但是不工作 在ListAdapter
中,只需返回getCount()
、getItem()
和getItemId()
的修改值,即可过滤掉不希望显示的项目
比如说
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
Holder holder = new Holder();
View rowView;
rowView = inflater.inflate(R.layout.custom_list_item, null);
holder.tvName = (TextView) rowView.findViewById(R.id.textViewName);
holder.img = (ImageView) rowView.findViewById(R.id.imageView1);
if (items[position].NeedForCollapsed){
System.out.println("set Visibility.Gone");
holder.tvName.setVisibility(View.GONE);
holder.img.setVisibility(View.GONE);
return rowView;
}
//new values
holder.tvName.setText(items[position].name);
holder.img.setImageResource(GetImageID(items[position]));
return rowView;
}
public class Holder
{
TextView tvName;
ImageView img;
}
如何接收适配器中的值?它显示出错误!