目前我正在开发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());
}
}
);
}
}
答案 0 :(得分:0)
要么使用包含要隐藏/显示的视图的字段(并在onClickListener中使用它们),要么在事件处理中使用findViewById。
另一个替代方法是创建另一个最终的视图变量,它将在设置onClickListener之前设置,以保存新创建的视图的引用。
所以,简而言之,我写的可能的解决方案是: