通过TableLayouts在Android中处理多个“屏幕”

时间:2011-06-25 04:10:57

标签: android xml screen visibility android-tablelayout

我正在尝试制作选项“菜单”屏幕。当按下菜单按钮时,菜单会出现一个“按钮”,当单击该按钮时会显示选项,该功能会单击一个名为optionsButton的按钮。当按下该按钮时,我希望一个TableLayout变为不可见,一个变为可见。

以下是我必须隐藏布局的代码。

public void optionButton(View view)
{
    TableLayout mainTable = (TableLayout)findViewById(R.id.tableMain);
    TableLayout optionTable = (TableLayout)findViewById(R.id.tableOptions);
    mainTable.setVisibility(TableLayout.INVISIBLE);
    optionTable.setVisibility(TableLayout.VISIBLE);

}

这是处理我的optionButton <Button android:onClick="optionButton" android:id="@+id/optionsButton" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Button" android:visibility="invisible"></Button>

的XML

这是处理我的“菜单按钮”的代码

public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()) {
    case R.id.options:
        Button optbtn = (Button)findViewById(R.id.optionsButton);
        optbtn.performClick();
        break;
    default:

        break;
    }

    return true;
}

问题是当单击菜单按钮时,没有任何反应。对此问题的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我通过删除optionsTable及其所有内容来解决问题。重新制作并将其放在main.xml的图形编辑器中的mainTable下面