2009-09-04 7 views
0

J'ai mis une valeur String (entrée Edittext de l'utilisateur dans mon Search-Activity) dans Bundle. Ensuite, j'ai eu le Bundle (Result-Activity) pour vérifier si l'utilisateur a laissé le Edittext sans valeur. Mais ça ne marche pas. Si la déclaration a quelque chose de mal. Il semble que rien n'a été vérifié. J'ai débogué et j'ai vu d'abord "Si" être exécuté puis "Else". Est-ce que quelqu'un peut m'aider?Problème avec Bundle dans android

Recherche-activité:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     mDbHelper = new SBooksDbAdapter(this); 
     mDbHelper.open(); 
     setContentView(R.layout.sbooks_search); 

     mTextSearch = (EditText)findViewById(R.id.text_search);  
     searchButton = (Button)findViewById(R.id.btn_search); 

     mTextSearch.setFocusableInTouchMode(true); 
     mTextSearch.setHint(R.string.button_hint); 

     searchButton.setOnClickListener(new View.OnClickListener(){ 
      public void onClick(View v){   
        startSearch();         
      } 
     }); 
    } 
    // Start Activity Search Result 
    public void startSearch(){     
     Bundle bundle = new Bundle();  
     bundle.putString(SBooksDbAdapter.KEY_TITLE_RAW, mTextSearch.getText().toString()); 

     Intent intentSearch = new Intent(this, SBooksSearchResult.class); 
     intentSearch.putExtras(bundle);  
     this.startActivity(intentSearch);   
    } 

Résultat-Acitity:

Bundle bundle = getIntent().getExtras();   
    String searchText = bundle.getString(SBooksDbAdapter.KEY_TITLE_RAW);   

    if(searchText != "") 
    { 
     // Do nothing   
    } 
    else { 
     searchText = "Hello" ; 
    } 
+2

1. Vous pouvez appeler getStringExtra() sur Intent - vous n'avez pas besoin d'appeler getExtras(), puis d'appeler ultérieurement getString(). 2. Une valeur de regroupement manquante renvoie null de getString(), pas "". 3. Vous pouvez afficher le code où vous appelez putExtra() pour stocker la valeur dans l'intention. Sans cela, et peut-être d'autres codes, il sera difficile de vous aider. – CommonsWare

+0

Salut, je poste le code que vous commentez. Et une chose, je débogue (trop de fois) et trouve que la valeur searchText est "", pas null. J'espère que vous pourriez aider! – Dennie

Répondre

1

Au lieu de:

if (searchText != "") 

essayer:

if (!searchText.equals("")) 
+0

Merci! C'est du travail! – Dennie

Questions connexes