使用Button使布局可见/不可见

时间:2012-12-12 12:57:44

标签: java android user-interface button relativelayout

目前我正在开发Android平板电脑上的图形用户界面项目。在一个屏幕上,我有几个按钮,我想让RelativeLayout可见/不可见。

我尝试使用onClickListener,但在内部方法onClick中不支持非最终变量,我用它来选择每个按钮和RelativeLayout

GUI是动态构建的,因为它的整个结构取决于它通过XML文件提供的数据。此外,RelativeLayout使用TextView来接收其短语的更新(感温数据如温度和湿度),这就是使用动态方法的原因。

你能否就这个问题的解决方法给我一些想法?感谢帮助。如果陈述的信息不够,请询问,我会向您提供更多详细信息。

此刻我尝试了这个:

private void setSensorPointOnClick(final ObjectView currentObjectView, final String currentLinkName)
{
    for(int i=0; i<listofSensorDeviceButtons.size(); i++ )
    {

        listofSensorDeviceButtons.get(i).setOnClickListener(
            new View.OnClickListener()  
            {
                public void onClick(View v)  
                {
                    arrayClickedButton[i] = listofSensorDeviceButtons.get(i);
                    mainFrameLayout.removeAllViews();
                    stepToObject(currentObjectView, currentObjectView.getName());               
                }
            }
        );

    }
}

1 个答案:

答案 0 :(得分:0)

要么使用包含要隐藏/显示的视图的字段(并在onClickListener中使用它们),要么在事件处理中使用findViewById。

另一个替代方法是创建另一个最终的视图变量,它将在设置onClickListener之前设置,以保存新创建的视图的引用。

所以,简而言之,我写的可能的解决方案是:

  1. 使用字段。
  2. 使用findViewById
  3. 使用额外的最终变量。