0

解決済み - View-Element の ID を 0 に設定しないでください!!!

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >


        <Button
        android:id="@+id/Button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button 1"/>

    <EditText
         android:id="@+id/editText1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"                  
         android:layout_toRightOf="@+id/Button1" />

    <Button
        android:id="@+id/Button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button 2"
        android:layout_below="@+id/Button1"/>

    <EditText
         android:id="@+id/editText2"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
        android:layout_below="@+id/editText1"
         android:layout_toRightOf="@+id/Button2"/> 

        <Button
        android:id="@+id/Button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button 2"
        android:layout_below="@+id/Button2"/>

    <EditText
         android:id="@+id/editText3"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
        android:layout_below="@+id/editText2"
         android:layout_toRightOf="@+id/Button3"/> 

</RelativeLayout>

これがアクティビティのコードです。xml で行ったことを正確に実行しようとしましたが、項目がまったく異なって表示されます。

  public class MainActivity extends Activity { 

    private RelativeLayout relativeLayout;
    public RelativeLayout.LayoutParams layoutParams;

     @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout);


            layoutParams = new  RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT);           

            //button 1
            Button button1 = new Button(this);
            button1.setText("Button 1");
            button1.setId(0);           
            relativeLayout.addView(button1);            

            //editText1
            EditText editText1 = new EditText(this);
            editText1.setId(1);
            layoutParams.addRule(RelativeLayout.RIGHT_OF, 0);
            relativeLayout.addView(editText1, layoutParams);            
            layoutParams = new  RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);               

            // button2
            Button button2 = new Button(this);
            button2.setText("Button 2");
            button2.setId(2);
            layoutParams.addRule(RelativeLayout.BELOW, 0);
            relativeLayout.addView(button2, layoutParams);
            layoutParams = new  RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);

            //editText2
            EditText editText2 = new EditText(this);
            editText2.setId(3);
            layoutParams.addRule(RelativeLayout.BELOW, 1);
            layoutParams.addRule(RelativeLayout.RIGHT_OF, 2);
            relativeLayout.addView(editText2, layoutParams);
            layoutParams = new  RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);


            this.setContentView(relativeLayout);            

        }

}

解決済み:主な問題は、ビュー要素の id が 0 ではないということです...ええと、初心者の間違いです、私は知っています...この質問を手伝ってくれてありがとう! 解決しました!!!

4

3 に答える 3

4

これを試してみてください!xml を Java コードに変換します。ただし、この場合、本当に必要かどうかはよくわかりません...

于 2013-09-23T10:06:26.687 に答える