繁体   English   中英

转到Android中的活动(也返回上一个活动)

[英]go to activity to activity in android (and also go back to previous activity)

我一直在四处寻找解决方案,而且我对阅读的内容感到困惑。 我从一个名为Restaurant.java的主类开始,在主页上有3个按钮,分别是食品,饮料,账单。 当我单击食物按钮,使用饮料按钮查看饮料时,我试图显示food.xml的视图。 我创建Foods.java作为食品类。

我的主要目的是单击主页上显示的3个按钮之一,并单击到foods页面(foods.xml),然后单击foods.xml上的向后按钮以返回主页。 食物部分工作正常,但我的饮料和账单页面虽然几乎所有代码都相似,但是却失败了。 (我得到的Emulator没有检测到GPU仿真。)我是android的新手,我一直在努力了解实际的android概念。 我一直在阅读《 Beginning android 3》这本书来学习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;
    }

}

}

由于出现,我收到了此错误. 代替:

demo版式中,有一个拼写错误android.id ,应该是android:id

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

就像是:

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

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

我相信这是您的清单文件。 您需要在清单文件中注册您的活动。 您注册“食品”活动的方式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM