ListView
Web サービスを使用して入力されたがあります。から特定のエントリを削除したいのですが、ListView
そのためには から要素の 1 つである ID (texview フィールド) を取得し、ListView
それをデータベースに渡す必要があります。ImageView
そのエントリを削除するためにクリックする必要があるすべてのリスト要素に(赤い十字)があります。私が望むのは、同じリスト要素の削除イメージをクリックしたときにテキスト フィールドの値を取得することだけです。android:onClick
関数を呼び出すために xml 属性を使用しましたdeleteEntry
。しかし、削除イメージと同じリスト要素にある ID の特定の値を取得する方法がわかりません。どうやってやるの?
編集
これは私のアダプターです:
public class MyCustomAdapterWorkEntry extends ArrayAdapter<ViewWorkEntryBean> {
Context context;
int layoutResourceId;
ViewWorkEntryBean currentMRB;
Vector<ViewWorkEntryBean> data;
public MyCustomAdapterWorkEntry(Context context, int layoutResourceId, Vector<ViewWorkEntryBean> data)
{
super(context,layoutResourceId,data);
this.layoutResourceId = layoutResourceId;
this.context=context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
MyStringReaderHolder holder;
if(row==null)
{
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent,false);
holder= new MyStringReaderHolder();
holder.workLogID = (TextView)row.findViewById(R.id.worklog_id);
holder.delete = (ImageView) row.findViewById(R.id.delete);
row.setTag(holder);
}
else
{
holder=(MyStringReaderHolder) row.getTag();
}
ViewWorkEntryBean mrb = data.elementAt(position);
holder.workLogID.setText(mrb.workLogID);
holder.delete.setTag(mrb.workLogID);
return row;
}
static class MyStringReaderHolder
{
TextView workLogID;
ImageView delete;
}
}
そして、これは削除機能です:
public void DeleteWorkEntryClick(View v) {
String workLogID = null;
workLogID = (String) v.getTag();
deleteWorkEntry(workLogID);
}
それはまだ動作しません !workLogID がヌルです。