0

6 つのボタンがあるフォームがあり、現在 3 つ目のボタンを機能させようとしています。最初の 2 つのボタンは正しく機能しますが、3 番目のボタンをクリックしても何も起こらず、エラーも発生しません。誰でも助けることができますか?

フォーム名、クラス名、ボタン名を確認しましたが、うまくいきません。ボタンのコードを含めました。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setting fullscreen
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN );
    setContentView(R.layout.main_menu);

    initialize(); //calling this method
}

public void initialize(){

    //Initializing variables

    Film = (Button) findViewById(R.id.bFilm);
    Music = (Button) findViewById(R.id.bMusic);
    Poets = (Button) findViewById(R.id.bPoet);
    Inventors = (Button) findViewById(R.id.bInventors);
    Science = (Button) findViewById(R.id.bScience);
    Sports = (Button) findViewById(R.id.bSport);

    //initialzing onclicklisteners
    Film.setOnClickListener(this);
    Music.setOnClickListener(this);
    Sports.setOnClickListener(this);
}

@Override
public void onClick(View view) {
    //case statment for onclicklisteners
    try{
    switch(view.getId()){
    case R.id.bFilm:
        Intent film = new Intent(this, Film.class); //open film class
        startActivity(film);
        break;
    case R.id.bMusic:
        Intent music = new Intent(this, Music.class); //open music class
        startActivity(music);
        break;
    case R.id.bPoet:
        Intent poet = new Intent(this, Poets.class); //open poet class
        startActivity(poet);
        break;
    case R.id.bInventors:
        Intent invent = new Intent(this, Inventors.class); //open inventors class
        startActivity(invent);
        break;
    case R.id.bScience:
        Intent science = new Intent(this, Science.class); // open science class
        startActivity(science);
        break;
    case R.id.bSport:
        Intent sport = new Intent(this, Sports.class);  //open sports class
        startActivity(sport);
        break;
}
4

2 に答える 2

2

Sports が 3 番目のボタンの場合、XML にボタン自体を 期待する
ID を持つ要素がないことを確認してください。bSportbSport

を取り外しますtry{} catch(){}。アプリがクラッシュするかどうかを確認Sportsし、アクティビティをManifest

于 2013-03-13T15:25:57.127 に答える
2

3 つのボタン (映画、音楽、スポーツ) のクリック リスナーのみを設定しました。初期化ですべてのリスナーを設定する必要があります。

enter code here

public void initialize(){

    //Initializing variables

    Film = (Button) findViewById(R.id.bFilm);
    Music = (Button) findViewById(R.id.bMusic);
    Poets = (Button) findViewById(R.id.bPoet);
    Inventors = (Button) findViewById(R.id.bInventors);
    Science = (Button) findViewById(R.id.bScience);
    Sports = (Button) findViewById(R.id.bSport);

    //initialzing onclicklisteners
    Film.setOnClickListener(this);
    Music.setOnClickListener(this);
    Sports.setOnClickListener(this);
    Poets.setOnClickListener(this);
    Inventors.setOnClickListener(this);
    Science.setOnClickListener(this);
}
于 2013-03-13T15:27:45.783 に答える