从listview,Android上的元素内部更改按钮的背景

时间:2012-04-12 06:21:32

标签: android

我有一个ListView lv,我在Listview底部有一个Button delete(该按钮位于列表视图之外)。有一个问题,我如何处理列表视图内的按钮(如更改背景或设置按钮的文本)。我有自己的适配器,我认为我必须在public void getView(int pos, View convertView, ViewGroup parent)功能处理按钮的变化。有谁有想法吗? P / s:这个问题的要点是:“如何处理列表视图中的其他元素?”。 欢迎任何建议!

3 个答案:

答案 0 :(得分:1)

假设您不只是从ActivityFragment的{​​{1}}方法保存对Button的引用,那么在onCreate内您需要实现一个遍历getView链的循环,搜索您想要的实际视图。它可能看起来像这样:

ViewParent

没有编译或测试,但......这样的事情应该做你想要的。有关详细信息,请参阅ViewParent.getParent()文档。

答案 1 :(得分:1)

在活动中,

Button delete = (Button) findViewById(R.id.delete);
CustomAdapter adapter = new CustomAdapter(delete);//add your argumente here

现在,在适配器中,您可以为按钮设置OnClickListener。

答案 2 :(得分:0)

我猜你正在使用自定义arrayadapter。如果是这样,您可以将对按钮的引用传递给arrayadapter类。

我不确定这是否会让你编辑按钮。如果没有,您可以从Activity发送ArrayAdapter处理程序。所以在活动中创建一个这样的处理程序:

    protected Handler updateButtonHandler = new Handler() {
    @Override
    public void handleMessage(Message msg){
        //Update button
    }
};

然后在arrayadapter中有一个引用和:

updateButtonHandler.sendEmptyMsg(0);