0
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

     int N = 10; 
     TextView[] myTextViews = new TextView[N]; 
    LinearLayout myLinearLayout = (LinearLayout) findViewById(R.id.test);
    for (int i = 0; i < N; i++) {
         TextView rowTextView = new TextView(this);
        rowTextView.setText(message);

        myLinearLayout.addView(rowTextView);
        myTextViews[i] = rowTextView; }

上記のコードのエラーは何ですか? 「残念ながらアプリは停止しました」というエラーが表示されます。

4

2 に答える 2

3

setContentView()あなたはどこにも電話していません。使用してみてください:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.id.<yourlayout>);
    //Your code

インフレートされていない限り、レイアウトでビューを参照することはできません。呼び出すfindViewById()と、現在のレイアウトでビューが検索されます。レイアウトが設定されていないため、 に対して null 値が返されmyLinearLayoutます。

于 2012-10-24T12:19:14.503 に答える
2

10個の単純なテキスト項目を重ねて表示している場合は、代わりにListViewを検討することをお勧めします。Eclipseプラグインは、箱から出してすぐに静的配列から入力されたListViewを使用してサンプルアプリを生成します。選択するだけNew > Other... > Android > Android Application Project > [name app] > [create icon (optional)] > MasterDetailFlow

于 2012-10-24T12:25:15.313 に答える