我有一个基于简单游标适配器的listview。
我的自定义列表视图项目有一个TextView和一个ImageButton。
当我选择列表视图项目时,我会转到另一个名为B的活动。
到目前为止,一切运作良好。 当我单击我的ImageButton时,我得到了不同的活动B,其中包含相同数据的不同列表视图项。
只有当我最初选择不同的ListView项目时,我才会使用正确的数据获取不同的活动B. 某处它保持相同的ID,所以我在点击ImageButton时如何刷新id?
适配器
public void bindView(View view, final Context context, final Cursor cursor) {
TextView tmName = (TextView) view.findViewById(R.id.txtTeamName);
tmName.setText(cursor.getString(cursor.getColumnIndex(cursor.getColumnName(1))));
TextView tmOp = (TextView) view.findViewById(R.id.txtTeamOpponent);
tmOp.setText(cursor.getString(cursor.getColumnIndex(cursor.getColumnName(2))));
TextView tmDate = (TextView) view.findViewById(R.id.txtTeamDate);
tmDate.setText(cursor.getString(cursor.getColumnIndex(cursor.getColumnName(3))));
TextView tmVe = (TextView) view.findViewById(R.id.txtTeamVenue);
tmVe.setText(cursor.getString(cursor.getColumnIndex(cursor.getColumnName(4))));
ImageButton Edit = (ImageButton) view.findViewById(R.id.imgEdit);
Edit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
String new_id = cursor.getString(cursor.getColumnIndex(cursor.getColumnName(0)));
Intent myIntent = new Intent(context, PlayerActivity.class);
myIntent.putExtra("TID", new_id);
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
}
});
view.setTag(cursor.getPosition());
}
答案 0 :(得分:0)
int position=(Integer)view.getTag();
cursor.moveToPosition(position);
是正确的方法