перейти к активности к активности в Android (а также вернуться к предыдущей активности) - PullRequest
1 голос
/ 26 ноября 2011

Я искал решение, чтобы найти решение, и я начинаю путаться, когда читаю больше. Я начинаю с вызова основного класса Restaurant.java, и на главной странице у меня есть 3 кнопки: «Еда», «Напитки», «Билл». Я пытаюсь отобразить вид файла food.xml, когда нажимаю кнопку «еда», а также кнопку «смотреть напитки с напитками». Я создаю Foods.java для еды как класс.

Мое основное намерение - щелкнуть одну из 3 кнопок на главной странице и на странице продуктов (foods.xml) и нажать кнопку «Назад» на файле foods.xml, чтобы вернуться на главную страницу. Продовольственная часть работает нормально, но мои напитки и страницы счетов терпят неудачу, хотя у них есть примерно весь подобный код. (Я получаю Эмулятор без обнаружения эмуляции графического процессора.) Я очень новичок в Android, и я очень старался понять, как работает настоящая концепция 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;
    }

}
}

BEVERAGES.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;
    }

}

}

Ответы [ 3 ]

1 голос
/ 10 марта 2012

Я получил эту ошибку из-за . вместо :

в макете demo произошла опечатка как android.id, которая должна быть android:id

0 голосов
/ 04 декабря 2011

Я полагаю, это ваш файл манифеста.Вам необходимо зарегистрировать свои действия в файле манифеста.То, как вы зарегистрировали "еду", активность

0 голосов
/ 26 ноября 2011

Вместо того, чтобы вызывать новое меню-Intent, вы должны просто finish() свою активность в отношении напитков.

Что-то вроде:

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

Это завершит вашу деятельность и вернет вас обратнок вашей основной деятельности (Restaurant.java).

...