-2

Android アプリ開発で XML を使用せずに Java コードから EditText を作成したかったので、これを書きました

 import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.widget.EditText;
    public class MainActivity extends Activity {
        private static final String initMess="Hello Arun";
        private static final int VISIBLE = 0;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            EditText editText = new EditText(this);
            editText.setText(initMess.toString());
            editText.setVisibility(VISIBLE);
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }
    }

しかし、エミュレーターでアプリを実行している間、EditText は表示されませんでした。

javaのみを使用してEditTextを作成するには?

4

5 に答える 5

2
ScrollView sv = new ScrollView(this);

LinearLayout ll = new LinearLayout(this);

ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);

EditText et = new EditText(this);

et.setText("weeeeeeeeeee~!");

ll.addView(et);


this.setContentView(sv);
于 2012-08-22T04:23:38.637 に答える
0

これを試して、

//first set the layout 
LinearLayout linerLayout = (LinearLayout)findViewById(R.id.linearLayout);

// add edit text
EditText editText = new EditText(this);
editText.setText( "" );

// add editText to the view 
linerLayout.addView(editText);
于 2012-08-22T04:35:16.677 に答える
0

このようなパラメータを設定する必要がHeightあります。WidthEditText

LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
                       LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);

editText.setLayoutParams(param);
于 2012-08-22T04:24:19.180 に答える
0

mainlayout で利用可能な親レイアウトに Editext を追加する必要があります。メインにrelativelayoutがあると仮定しましょう

 layout.addView(editText);
于 2012-08-22T04:24:21.803 に答える
-1

まず、レイアウト ファイルでルート ビューを取得する必要があります。

LinearLayout layout = (LinearLayout)findViewById(R.id.layout);

次に、子コンポーネントを EditText のように宣言する必要があります

EditText et =new EditText(this);
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
et.setLayoutParam(p);
et.setText("text");

第三に、子コンポーネントを親レイアウトに挿入する必要があります

layout.addView(et);
于 2012-08-22T05:29:55.077 に答える