1

私は解決策を見つけるために周りを見回していましたが、読めば読むほど混乱し始めました. メイン クラス コール Restaurant.java から始めます。メイン ページには、Foods、Beverages、Bill の 3 つのボタンがあります。food ボタンをクリックしたときに food.xml のビューを表示しようとしています。食品用の Foods.java をクラスとして作成します。

私の主な意図は、メイン ページと食品ページ (foods.xml) の表示 3 つのボタンのいずれかをクリックし、foods.xml の [戻る] ボタンをクリックしてメイン ページに戻ることです。食品の部分は正常に動作していますが、ほぼすべてのコードが似ていますが、飲料と請求書のページは失敗します。(GPUエミュレーションが検出されずにエミュレーターを取得します。)私はAndroidで非常に新しく、実際のAndroidの概念が機能していることを知るために非常に懸命に努力してきました。Androidを学ぶためにBeginning android 3の本を読んでいます。

私の主なクラス ---RESTAURANT.JAVA

package com.restaurant.first;
import com.restaurant.first.R;
 import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class Restaurant extends Activity implements OnClickListener {
     /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    View foodButton =(View)findViewById(R.id.foods);
    View beveragesButton =(View)findViewById(R.id.beverages);
    View billButton =(View)findViewById(R.id.bill);
    foodButton.setOnClickListener(this);
    beveragesButton.setOnClickListener(this);
    billButton.setOnClickListener(this);
}

public void onClick(View view)
{
    switch (view.getId())
    {
        case R.id.foods:    Intent foods = new Intent(this, Foods.class);
                            startActivity(foods);
                            break;
        case R.id.beverages:Intent beverages = new Intent(this, Beverages.class);
                            startActivity(beverages);
                            break;
        case R.id.bill:     Intent bill = new Intent(this, Bill.class);
                            startActivity(bill);
                            break;
    }
}  

}

私の料理教室

package com.restaurant.first;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class Foods extends Activity implements OnClickListener{
   public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.foods);
        View backButton =(View)findViewById(R.id.backButton);
        backButton.setOnClickListener(this);
}

public void onClick(View view)
{
    switch (view.getId())
    {
        case R.id.backButton:   Intent menu = new Intent(this, Restaurant.class);
                                startActivity(menu);
                                break;
    }

}
}

飲料.JAVA

package com.restaurant.first;

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

public class Beverages extends Activity implements OnClickListener{
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.beverages);
        View backButton =(View)findViewById(R.id.backButton);
       backButton.setOnClickListener(this);
    }

public void onClick(View view)
{
    switch (view.getId())
    {
        case R.id.backButton:   Intent menu = new Intent(this, Restaurant.class);
                                startActivity(menu);
                                break;
    }

}

}

4

3 に答える 3

1

.代わりにa が原因でこのエラーが発生していました:

demoレイアウトでタイプミスがありましandroid.idた。android:id

于 2012-03-09T20:28:26.350 に答える
0

マニフェストファイルだと思います。マニフェストファイルにアクティビティを登録する必要があります。「食品」活動を登録した方法

于 2011-12-04T07:28:11.210 に答える
0

新しい menu-Intent を呼び出す代わりにfinish()、飲み物のアクティビティだけを呼び出す必要があります。

何かのようなもの:

case R.id.backButton:   finish();
                        break;

これでアクティビティが終了し、メインのアクティビティ (Restaurant.java) に戻ります。

于 2011-11-26T16:06:15.023 に答える