2016-03-27 27 views
0

Bir düğmeye tıklayabileceğim bir uygulama var, A ve belirli bir bilgi kümesi göster. Ardından geri düğmesine tıklayın ve B düğmesine tıklayın ve farklı bir bilgi kümesi gösterin. Neler geçtiğini onaylayarak süreci başlatmak için Drinks.java dosyasına bir test TextView kodladı. Şu anda, ilk önce hangi düğmeye bassam, değişkendeki sıkışmış oluyor. Örneğin, eğer A düğmesine bastığımda, arka oku ve B düğmesine bastığınızda, A düğmesine hala Metin Görünümünde görünecektir. Dizeleri açık tıklatma dinleyicisinde boş bırakmaya çalıştım, olduğu gibi "onları temizlemek" için, ama bu çalışmıyor. Değişkendeki şeyi silmek ve başka bir şeyi yeniden atamak için bir yol var mı? Yoksa benim problemim başka yerde mi yatıyor?Android geri düğmesi tıklandığında değişkeni temizle

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

basitçe söyleyebiliriz ne yapmak istiyorsun ? açıklamanız biraz dağınık olduğu için ... – MaxExplode

+0

"setDrinkType" değişkeninin hangi düğmeye basıldığına bağlı olarak değişmesini istiyorum. Şu anda kullanıcı bir düğmeye basar, sonra geri düğmesine tıklar ve farklı bir düğmeye basar, ilk dizge hala orada kalır. – Inessaria

+0

çünkü setDrinkType ürününüz statik bir değişkendir – MaxExplode

cevap