2

私はこの Android アプリケーションにかなり慣れていないので、onclick リスナーに関するいくつかの質問があります。

現在、ScrollView 内に複数のボタンを含む 1 つの列を持つテーブルがあります。私の目標は、ボタンをクリックすると、最初のテーブルのすぐ隣に 2 番目のテーブル (最初のテーブルと同じレイアウト) が表示されるようになることですが、ボタンのセットが異なります。誰かが私を正しい方向に導いてくれますか。

ご不明な点がございましたら、お知らせください。

 <?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>
4

2 に答える 2

1

レイアウトXMLファイルで、両方のテーブルを作成します...ただし、2番目のテーブルの可視性を「GONE」に設定します。GONEの可視性は、レイアウトにスペースをとらないことを意味します。

ボタンが押されたときにコードを実行する方法を知っていると思います(そうでない場合は、onclicklistenerまたはandroid:onClick xmlショートカットを検索してください)。適切なボタンが押されたら、2番目のテーブルの可視性をVISIBLEに設定すると、それが表示されます。

于 2013-02-17T17:42:25.857 に答える
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と表示され、もう一度クリックすると非表示になります。お役に立てば幸いです。

于 2013-02-17T20:24:46.327 に答える