0
public class MainActivity extends Activity {
int i,j;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.HORIZONTAL);
layout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
LinearLayout layout2 = new LinearLayout(this);
layout2.setOrientation(LinearLayout.HORIZONTAL);
layout2.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
LinearLayout layout1 = new LinearLayout(this);
layout1.setOrientation(LinearLayout.VERTICAL);
layout1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
for(j=0;j<5;j++){
Button myButton = new Button(this);
myButton.setText(""+j);
myButton.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
myButton.setTextSize(20);
layout.addView(myButton);
}
layout1.addView(layout);
for(j=5;j<10;j++){
Button myButton = new Button(this);
myButton.setText(""+j);
myButton.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
myButton.setTextSize(20);
layout2.addView(myButton);
}
layout1.addView(layout2);
setContentView(layout1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
以上是我的代碼。我可以動態創建兩列5列的按鈕。但在這裏,我必須手動創建行佈局(layout,layout2)。我想我會定義一個linearlayout數組。但是當我嘗試指定setOrientation和setLayoutParams時,程序崩潰。 我試過在android上動態添加按鈕行和列?
layout3[0].setOrientation(LinearLayout.HORIZONTAL);
但程序崩潰。
「程序崩潰」是什麼意思?它會引發logcat中的任何異常嗎? – Smit
我是新來的這個領域。我的意思是,當我嘗試運行程序時就意味着崩潰。它會在黑色框中顯示「程序意外停止工作」的錯誤。我檢查了logcat它有一些像android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) –
這沒關係。 +1你得到了你的問題的答案。下次請添加例外,它會告訴你很多關於哪裏和哪裏出問題的信息。 – Smit