gpt4 book ai didi

android - 如何获取最后一个 ListView 项目位置

转载 作者:行者123 更新时间:2023-11-29 14:25:08 26 4
gpt4 key购买 nike

我创建了一个带有单选按钮的 ListView 。 ListView 如下图所示: enter image description here

我的 getView 是:

public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
PaymentData rowItem = getItem(position);
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mInflater.inflate(
com.android.paypal.homeactivity.R.layout.list_item, null);
holder = new ViewHolder();
holder.radioBtn = (RadioButton) convertView
.findViewById(com.android.paypal.homeactivity.R.id.rdb_payment_method);
holder.btPaymentMethod = (Button) convertView
.findViewById(com.android.paypal.homeactivity.R.id.bt_item_event);
convertView.setTag(holder);
} else
holder = (ViewHolder) convertView.getTag();

holder.radioBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

if ((position != mSelectedPosition) && (mSelectedRB != null)) {
mSelectedRB.setChecked(false);
}

mSelectedPosition = position;
mSelectedRB = (RadioButton) v;
}
});

if (mSelectedPosition != position) {
holder.radioBtn.setChecked(false);
} else {
holder.radioBtn.setChecked(true);
if (mSelectedRB != null && holder.radioBtn != mSelectedRB) {
mSelectedRB = holder.radioBtn;
}
}

holder.radioBtn.setText(rowItem.getRdbText());
holder.btPaymentMethod.setText(rowItem.getBtText());
return convertView;

}

我想在屏幕最先出现时自动检查最后一个单选按钮。我怎样才能做到这一点。

最佳答案

保存一个 bool 值来表示用户是否自己选择了任何东西。让 bool 值成为 userSelected = false;

现在你可以在 getView() 中做:

if(position==getCount()-1 && userSelected==false)
holder.radioBtn.setChecked(true);
else
holder.radioBtn.setChecked(false);

在 onItemClick 中,当用户自己做出选择时,只需设置 userSelected=true;

关于android - 如何获取最后一个 ListView 项目位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16082212/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com