2016-03-27 4 views
0

У меня есть приложение, в котором я хотел бы иметь возможность нажимать на кнопку, A и показывать определенный набор информации. Затем нажмите кнопку «Назад» и нажмите кнопку «В» и покажите другой набор информации. Я закодировал тест TextView в файле Drinks.java, чтобы начать процесс, подтвердив, что передается. В настоящее время любая кнопка, которую я нажимаю сначала, застревает в переменной. Так, например, если я нажимаю кнопку A, затем нажимаем стрелку назад и нажимаем кнопку B, кнопка A все еще отображается в текстовом элементе. Я попытался сделать строки пустыми внутри прослушивателя кликов, чтобы «очистить их» как есть, но это не работает. Есть ли способ уничтожить то, что находится в переменной, и переназначить что-то еще? Или моя проблема лежит в другом месте?Очистить переменную при нажатии кнопки Android назад

Bar.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);   
      } 

     }); 


    } 
} 

Drinks.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); 
    } 
} 
+0

вы можете просто сказать что ты хочешь делать ? потому что ваше описание немного беспорядочно ... – MaxExplode

+0

Я хочу, чтобы переменная «setDrinkType» изменялась в зависимости от того, какая кнопка нажата. В настоящее время он застревает так, что пользователь нажимает кнопку, затем нажимает кнопку «Назад» и нажимает другую кнопку, первая строка все еще там. – Inessaria

+0

это потому, что ваш setDrinkType является статической переменной – MaxExplode

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^