0

Androidで最初のデフォルトのHello Worldページを作成しましたが、そこにボタンを配置して、画面を2番目のウィンドウ(作成したもの)に移動しました。しかし、最初のボタンをクリックすると、空白のページに移動します。

実際、私の2番目のページにはボタンがあります(2番目のページを表示しています)が、なぜアンドロイドが表示されないのですか?私は何かを間違えていますか?

MainActivity.java ファイルの内容は次のとおりです。

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

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

        Button b = (Button) findViewById(R.id.button1);

        b.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                startActivity(new Intent(MainActivity.this, Second.class));
            }
        });
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }


}

Second.java の内容は次のとおりです。

import android.app.Activity;
import android.os.Bundle;

public class Second extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
    }

}

アプリケーションのスクリーンショットは次のとおりです。

  1. http://pbrd.co/YRNZvw
  2. http://pbrd.co/YRNNN5
4

3 に答える 3

3

つまり、レイアウト ファイルにactivity_second.xmlボタンがあると言っているのです。Eclipse に切り替えるとGraphic Layout、ボタンが表示されますか? まずそこを見なければなりません。そうでない場合は、通常、その理由が表示されます。また、セカンドクラスに参加する必要setContentView(R.layout.activity_second);があります。onCreate

編集:

Eclipse を使用しているため、次回のトラブルを回避するために、プロジェクトに新しいアクティビティを追加するには、次の手順を実行します。

click new -> android -> Android Activity

そこから、名前とオプションの親アクティビティを追加します。これで基本的な配線はすべて完了し、この問題は発生しません。

于 2013-03-19T16:30:49.697 に答える
2

2 番目のアクティビティの OnCreate に setContentView がありません。

次のようになります。

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
}
于 2013-03-19T16:30:23.687 に答える
1
setContentView(R.your_layout_id);

onCreateこれを2番目のメソッドで呼び出しますActivity

または onCreate 関数を次のように置き換えます

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);




    Button button = new Button(this);
    button.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,   
            LayoutParams.WRAP_CONTENT));
    button.setText("Click Me");
    setContentView(button);


}
于 2013-03-19T16:30:33.527 に答える