2

Androidで実行時に編集テキストを動的に配置するにはどうすればよいですか?

followigは私のコードです:

public class ABCActivity extends Activity   {
  EditText ed;

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

    ed = new EditText(ABCActivity.this);
    ed.setEnabled(false);    
    layout =new LinearLayout(this);  
    LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT, 1.0f);            
    layout.setLayoutParams(params);
    btn = new Button(this); 
    btn.setLayoutParams(params);
    btn.setText("Change");

    RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) ed.getLayoutParams();
    params2.leftMargin = 10;
    params2.topMargin = 10;
    ed.setLayoutParams(params2);

    layout.addView(btn);   
    layout.addView(ed);

   }    
}

力を に近づける:

RelativeLayout.LayoutParams params2 = (RelativeLayout.LayoutParams) ed.getLayoutParams();

error: Null pointer Exception 相対レイアウトを使用してみました ..... しかし動作しません

4

2 に答える 2

1

LarsVogelによるこれに関するすばらしいチュートリアルがここにあります。基本的に、Javaを介してビューを配置するには、レイアウトに固有のLayoutParamsを使用する必要があります。

于 2012-07-03T13:36:22.147 に答える
1

この方法で位置を設定できますEditText。10、10 のダミー値を指定しました。

         RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) ed.getLayoutParams();
         params.leftMargin = 10;
         params.topMargin = 10;
         ed.setLayoutParams(params);
于 2012-07-03T13:47:15.433 に答える