1

我一直在四处寻找解决方案,但我读得越多,我就开始感到困惑。我从一个名为 Restaurant.java 的主类开始,在主页上我有 3 个按钮,它们是 Foods、Beverages、Bill。当我单击食物按钮时,我试图显示 food.xml 的视图,查看带有饮料按钮的饮料。我为食物类创建了 Foods.java。

我的主要目的是单击主页上的显示 3 个按钮之一和食物页面(foods.xml),然后单击foods.xml 上的后退按钮返回主页。食物部分工作正常,但我的饮料和账单页面失败,尽管它们的代码大致相似。(我得到了没有检测到 GPU 仿真的模拟器。)我是 android 的新手,我一直在努力了解实际的 android 概念。我一直在阅读Beginning android 3 book来学习android。

我的主要课程---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

I beleive it is your Manifest file. You need to register your activities in the manifest file. The way you have registered "food" activity

于 2011-12-04T07:28:11.210 回答
0

而不是调用一个新的菜单意图,你应该只是finish()你的饮料活动。

就像是:

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

这将完成您的活动并带您回到您的主要活动(Restaurant.java)。

于 2011-11-26T16:06:15.023 回答