适配器中的ImageButton setEnabled

时间:2016-02-10 01:18:09

标签: android

我尝试将一个按钮设置为启用,并在listView上单击它时将其他按钮设置为禁用。有两个按钮,我试图在我的适配器的getView函数中的onClick中更改它们。

以下是其中一个的onCLick。

    holder.upButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.d("Event", "Up");
            View parentRow = (View) v.getParent();
            ImageButton uButton = (ImageButton) parentRow.findViewById(R.id.upImageView);
            ListView listView = (ListView) parentRow.getParent();
            final int position = listView.getPositionForView(parentRow);
            if (activity.equals("Host"))
            {
            } else {

            }

            uButton.setEnabled(false);
        }
    });

谢谢

1 个答案:

答案 0 :(得分:0)

如果您尝试更改onClick()功能中的视图,则无效。

你没有发布很多代码,所以我只会描述正确的代码。

首先,您的适配器需要为两个按钮的启用状态建模。换句话说,对于每个列表项,您需要两个布尔值,每个按钮一个。

在视图绑定方法中,您需要访问两个布尔值并根据其模型布尔值设置每个按钮的启用状态。

onClick()中,您需要翻转两个布尔值的状态,并使用新按钮状态调用notifyDataSetChanged()刷新列表。