[英]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.