我希望用户点击一个按钮, 从列表中删除项目 我已经阅读了很多问题,要删除列表项。 但我找不到任何问题的答案。 我不知道如何构建我的程序 (根据下面的代码) 有人知道我需要添加什么吗?
java代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_qusition);
list=(ListView)findViewById(R.id.listView1);
adapter=new Myadapter(getApplicationContext());
String qustion=getResources().getStringArray(R.array.qustion);
list.setAdapter(adapter);
}
public class Myadapter extends BaseAdapter implements Filterable{
LayoutInflater myInflater;
public Myadapter(Context context) {
myInflater=LayoutInflater.from(context);
// TODO Auto-generated constructor stub
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return qustion.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final ViewHolder Holder;
if(convertView==null)
{
Holder=new ViewHolder();
convertView=myInflater.inflate(R.layout.item_custom_layout,null );
Holder.qustion=(TextView)convertView.findViewById(R.id.text_qustion);
Holder.delete=(ImageView)convertView.findViewById(R.id.imag_delete);
Holder.heart=(ImageView)convertView.findViewById(R.id.imag_heart);
Holder.share=(ImageView)convertView.findViewById(R.id.imag_share);
convertView.setTag(Holder);
}
else
Holder=(ViewHolder) convertView.getTag();
Holder.qustion.setTextSize(size);
Holder.qustion.setText(qustion[position]);
//}
Holder.delete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//-----------delete item list
}
return convertView;
}
答案 0 :(得分:0)
您有一个数组qustion
,表示适配器中的数据。您需要做的是找出删除了哪个索引并从数组中删除该索引。如果您的数组已更改为ArrayList,这将更容易。删除适配器中的索引调用notifyDataSetChanged()
以更新视图。