Android按钮监听器

时间:2013-02-17 17:33:51

标签: android layout button tablelayout onclicklistener

我对这个Android应用程序很新,并且有几个涉及onclick监听器的问题。

现在我在ScrollView中有一个表,其中一列包含几个按钮。 我的目标是达到一个点,我可以点击一个按钮,然后第二个表就会出现在第一个表格(与第一个表格相同的布局)旁边,但是有一组不同的按钮。有人可以指导我朝正确的方向发展。

如果您有任何问题,请与我们联系。

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation='vertical' >

 <ScrollView 
 android:layout_width="125dp" 
 android:layout_height="200dp"   >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TableLayout android:id="@+id/table_right"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <TableRow android:id="@+id/row_1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/Button_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button 1"
                android:textSize="20dp" >   
             </Button>
           </TableRow>

         <TableRow android:id="@+id/row_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

                <Button android:id="@+id/Button_2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Button 2"
                    android:textSize="25dp" > 
                </Button>
            </TableRow>

         <TableRow android:id="@+id/row_3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

                <Button android:id="@+id/Button_3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Button 3"
                    android:textSize="25dp" > 
                </Button>
            </TableRow> 

         <TableRow android:id="@+id/row_4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

                <Button android:id="@+id/Button_4"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Button 4"
                    android:textSize="25dp" > 
                </Button>
            </TableRow>

          <TableRow android:id="@+id/row_5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

                <Button android:id="@+id/Button_5"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Button 5"
                    android:textSize="25dp" > 
                </Button>
            </TableRow>

          <TableRow android:id="@+id/row_6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

                <Button android:id="@+id/Button_6"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Button 6"
                    android:textSize="25dp" > 
                </Button>
            </TableRow>

    </TableLayout>  
        </LinearLayout> 
            </ScrollView>
            </LinearLayout>

2 个答案:

答案 0 :(得分:1)

在布局XML文件中,创建两个表...但将第二个表的可见性设置为“GONE”。 GONE的可见性意味着它甚至不会在布局中占用任何空间。

我假设您知道如何在按下按钮时执行某些代码(如果没有,请查看onclicklistener或android:onClick xml快捷方式)。按下相应的按钮后,将第二个表的可见性设置为VISIBLE,它将出现。

答案 1 :(得分:1)

要在可见和不可见之间切换表格,我建议您使用此示例: -

            boolean visible = true;
        private void showHide() {

            if (visible) {
            if(table1.getVisibility() == View.Invisible ); { 
                 table1.setVisibility(View.Visible) 
            }   
            }else table1.setVisibility(View.Invisible);

            visible = !visible;
        }

并在buttonsetOnClickListener添加showHide();现在,当您点击按钮时,它会显示table1,当您再次点击它时,它会隐藏它。希望对你有所帮助。