当前位置: 首页 > 知识库问答 >
问题:

Android:Listview第一个按钮选择错误

乜栋
2023-03-14

当listview开始时,我发现第一个按钮被选中了?我试着用listview做点击按钮事件,但我不知道原因!我如何使它像列表中的所有按钮一样默认?请看一下图片。

 @Override
public View getView(final int position, View convertView, final ViewGroup parent) {
    View row;
    row = convertView;
    final ContactHolder contactHolder;
    if (row == null) {
        LayoutInflater layoutInflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        row = layoutInflater.inflate(R.layout.row, parent, false);
        contactHolder = new ContactHolder();
        contactHolder.tx_id = (TextView) row.findViewById(R.id.usersName2);
        contactHolder.tx_id = (TextView) row.findViewById(R.id.usersName2);
        contactHolder.loadId = (TextView) row.findViewById(R.id.loadMoreID);
        contactHolder.tx_name = (TextView) row.findViewById(R.id.usersName);
        contactHolder.image_tx = (ImageView) row.findViewById(R.id.usersPic);
        contactHolder.sug_add = (Button) row.findViewById(R.id.sug_id);

        row.setTag(contactHolder);


    } else {
        contactHolder = (ContactHolder) row.getTag();

    }
    final Contacts_Sug contacts = (Contacts_Sug) this.getItem(position);
    contactHolder.image_tx.setImageResource(R.mipmap.ic_launcher);
    contactHolder.tx_id.setText(contacts.getId());
    contactHolder.tx_name.setText(contacts.getName());
    imgLoader.DisplayImage(contacts.getImage(), contactHolder.image_tx);

    contactHolder.tx_name.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            contacts.setSelectedPosition(position); //Set position here
            contactHolder.sug_add.setText("Selected");
        }


    });
    if(contacts.getSelectedPosition() == position){
        contactHolder.sug_add.setText("Selected");
    } else{
        contactHolder.sug_add.setText("Follow");

    }

    return row;
}


public class ContactHolder {
    TextView tx_id, tx_name,loadId;
    ImageView image_tx;
    public Button sug_add;

}

共有1个答案

鲁滨海
2023-03-14

这是因为默认情况下,selectedpos的值为“0”。

更改contacts_sug类,使selectedpos成员变量初始化为-1。

private int selectedPos = -1;
 类似资料:
  • import { Checker,CheckerItem } from 'feui'; components: { [Checker.name]: Checker, [CheckerItem.name]: CheckerItem }, data () { return { items1: [ { key: "1",

  • 我是Selenium IDE的新手,在这里需要选择单选按钮的帮助。就我而言,我正在尝试为由单选按钮组成的特定表单生成一个测试用例。当我运行命令以单独选择其中一个单选按钮时,该函数可以工作,但如果我运行整个测试用例,则单选按钮不会被选中并给出找不到Element Id的错误。这是我的html: 我的IDE命令:单击Target: id=ProjectSolutionsProject0。我尝试了ver

  • 在此对话框您可以指定当浏览磁盘文件夹 (“在压缩文件外部时显示”选项) 或查看压缩文件内容 (“在压缩文件内部时显示”选项 ) 时,要显示哪一些工具栏按钮。可以改变按钮的顺序,只要选择您希望移动的按钮并按下“上移”或“下移”来改变它们的位置。如果您要恢复默认工具栏配置,按下“默认”按钮。 “分隔符”按钮在选择的当前按钮前插入一个分隔符线。如果您要移除一个分隔符,或者取消它的选择状态,或者再次按下“

  • 我有3个扣子 b1 b2 b3 我现在想让这些按钮依次按下。所以我按下一个按钮,第二个按钮,另一个人按下。所以在第二回合之后,我会比较按钮的名称。 这是我认为会起作用的,但这有很多问题,首先,因为我禁用了按钮,第二个用户总是少了一个选项。第二,if语句似乎不起作用?我应该如何比较JButton b3=新JButton(“hello”); 编辑:我成功地比较了这两个按钮。现在我唯一的问题是,对于第二

  • 我已经搜索了很多以前关于php和单选按钮的问题,但是我还没有找到对我的情况有帮助的东西。我正在为服务器端脚本类制作一个测验。我被困在实际的测验部分。如果用户没有选择问题的答案,我希望返回一条错误消息。相反,当我点击提交按钮而不选择任何选项时,我会自动重定向到结果页面。如何更正代码,以便用户在未回答所有问题的情况下点击提交时收到错误消息?下面是我为检查单选按钮和下一步而编写的当前代码。