单击Android后退按钮时清除变量

单击Android后退按钮时清除变量,android,string,textview,back-button,Android,String,Textview,Back Button,我有一个应用程序,我想能够点击一个按钮,a,并显示一组特定的信息。然后单击后退按钮,然后单击按钮B,显示一组不同的信息。我已经在Drinks.java文件中编写了一个测试文本视图,以便通过确认传递的内容开始这个过程。目前,我首先按下的任何按钮都会卡在变量中。例如,如果我按下按钮A,然后按下后退箭头和按钮B,按钮A仍然显示在文本视图中。我尝试在点击侦听器中清空字符串,以“清除它们”,但这不起作用。有没有办法清除变量中的内容并重新分配其他内容?还是我的问题在别处 java import androi

我有一个应用程序,我想能够点击一个按钮,a,并显示一组特定的信息。然后单击后退按钮,然后单击按钮B,显示一组不同的信息。我已经在Drinks.java文件中编写了一个测试文本视图,以便通过确认传递的内容开始这个过程。目前,我首先按下的任何按钮都会卡在变量中。例如,如果我按下按钮A,然后按下后退箭头和按钮B,按钮A仍然显示在文本视图中。我尝试在点击侦听器中清空字符串,以“清除它们”,但这不起作用。有没有办法清除变量中的内容并重新分配其他内容?还是我的问题在别处

java

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class Bar extends Activity{
    String setBarTest = MainActivity.setBar;
    String barNameHolder, picHolder, barContactHolder, barPhoneHolder; 
    int imageInt, textInt1,textInt2, textInt3;
    TextView setBarName, setBarContact,setBarPhone;
    ImageView barPic;
    Button viewAll, beer, wine, mixedDrinks, other, getTaxi;
    static String setDrinkType = "";

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bar);

        Button viewAll = (Button)findViewById(R.id.btnviewAll);
        Button beer = (Button)findViewById(R.id.btnBeer);
        Button wine = (Button)findViewById(R.id.btnWine);
        Button mixedDrinks = (Button)findViewById(R.id.btnMixedDrinks);
        Button other = (Button)findViewById(R.id.btnOther);
        Button getTaxi = (Button)findViewById(R.id.btnTaxi);

        barPic = (ImageView) findViewById(R.id.barPic);
        String picHolder = "drawable/"+setBarTest;      
        int imageInt = getResources().getIdentifier(picHolder, null, getPackageName());
        barPic.setImageResource(imageInt);

        setBarName = (TextView)findViewById(R.id.barName);
        String barNameHolder = "@string/"+setBarTest;
        int textInt1 = getResources().getIdentifier(barNameHolder, null, getPackageName());
        setBarName.setText(textInt1);

        setBarContact = (TextView)findViewById(R.id.barContact);
        String barContactHolder = "@string/"+setBarTest+"Contact";
        int textInt2 = getResources().getIdentifier(barContactHolder, null, getPackageName());
        setBarContact.setText(textInt2);

        setBarPhone = (TextView)findViewById(R.id.barPhone);
        String barPhoneHolder = "@string/"+setBarTest+"Phone";
        int textInt3 = getResources().getIdentifier(barPhoneHolder, null, getPackageName());
        setBarPhone.setText(textInt3);

        viewAll.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = (new Intent(Bar.this, Drinks.class));
                startActivity(i);           
            }

        });
        beer.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                setDrinkType = "";
                setDrinkType = "Beer";
                Intent i = (new Intent(Bar.this, Drinks.class));
                startActivity(i); 

            }

        });
        wine.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                setDrinkType = "";
                setDrinkType = "Wine";
                Intent i = (new Intent(Bar.this, Drinks.class));
                startActivity(i);   

            }

        });
        mixedDrinks.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                setDrinkType = "";
                setDrinkType = "Mixed Drink";
                Intent i = (new Intent(Bar.this, Drinks.class));
                startActivity(i); 

            }

        });

        other.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                setDrinkType = "";
                setDrinkType = "Other";
                Intent i = (new Intent(Bar.this, Drinks.class));
                startActivity(i); 

            }

        });
        getTaxi.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = (new Intent(Bar.this, Taxi.class));
                startActivity(i);           
            }

        });


    }
}
饮料.java

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Drinks extends Activity{
    TextView drinkHolder;
    public static String drinkType = Bar.setDrinkType;
    String drinkTestHolder="";

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_drinks);
        drinkTestHolder = drinkType;
        drinkHolder = (TextView)findViewById(R.id.drinkTest);
        //String barNameHolder = "@string/"+drinkType;
        //int textInt1 = getResources().getIdentifier(barNameHolder, null, getPackageName());
        drinkHolder.setText(drinkTestHolder);
    }
}

请改用发送给启动活动的意向:


你能简单地说出你想做什么吗?因为您的描述有点混乱…我希望“setDrinkType”变量根据按下的按钮而改变。当前它被卡住了,因此用户按下一个按钮,然后单击“后退”按钮并按下另一个按钮,第一个字符串仍然存在。这是因为您的setDrinkType是一个静态变量为什么会有不同?