大家好,
我有一个 ListView,每行包含一个 Button。以下代码是getView()方法的一部分
public View getView(final int position, View convertView, ViewGroup parent) {
View row = convertView;
TextView tv;
Button saveA_button;
EditText edittext;
FITB_ViewWrapper wrapper;
if (row == null) {
LayoutInflater li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (ChooseMode_Act.modeInfo.equalsIgnoreCase("Training")) {
row = li.inflate(R.layout.exercise_for_training_fitb,parent, false);
}else {
row = li.inflate(R.layout.exercise_for_exam_fitb,parent, false);
}
wrapper=new FITB_ViewWrapper(row);
row.setTag(wrapper);
if (ChooseMode_Act.modeInfo.equalsIgnoreCase("Exam")) {
saveA_button=wrapper.getSaveAnswer_Button();
OnClickListener l=new OnClickListener() {
@Override
public void onClick(View v) {
Integer mp=(Integer)v.getTag();
Log.i("mp","my Position is: "+mp);
}
};
saveA_button.setOnClickListener(l);
}
}else {
wrapper=(FITB_ViewWrapper) row.getTag();
}
对于我的应用程序,我需要知道按钮属于哪个项目,所以我尝试检测它。代码
Log.i("mp","my Position is: "+mp);
输出一条消息:mp myPosition is: null
我不明白,为什么我得到的是“null”而不是整数?我怎样才能找出一个项目在 ListView 中的位置?
非常感谢。
最佳答案
Log.i("mp","我的位置是:"+position);
你已经有位置了!
public View getView(final int position, View convertView, ViewGroup parent) {
关于安卓 ListView : getTag() returns null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3040863/