切换条件在Android中不起作用

use*_*953 0 java android if-statement switch-statement

所以我有这个代码:

package com.sunil.phpconnect;

import java.io.BufferedReader;
import java.io.InputStreamReader;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
        Button nao;
        Button foto;
        Button novamen;
        TextView ola;    
        HttpClient httpclient1, httpclient;
        HttpGet request1, request;
        HttpResponse response1, response;
        String url,iduser, urlmensagens;


             @Override
             public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              Bundle  extras = getIntent().getExtras();
              iduser= extras.getString("userid");


               TextView result = (TextView) findViewById(R.id.tvResult);
               //String g = result.getText().toString();
              // String h = "valor";

               urlmensagens = ("http://mywebsite.php?iduser="+iduser);
               novamen = (Button) findViewById(R.id.mensagens);


                   //cenas da net
                    try {
                     httpclient1 = new DefaultHttpClient();
                     request1 = new HttpGet(urlmensagens);
                     response1 = httpclient1.execute(request1);

                    }
                    catch (Exception e){

                    }
                    try{ 
                      BufferedReader dr = new BufferedReader(new InputStreamReader(
                        response1.getEntity().getContent()));


                      String mensage = "";


                      mensage = dr.readLine();

                      String check_sms = mensage;

                      Toast.makeText(getApplicationContext(), check_sms,
                              Toast.LENGTH_LONG).show();



                //novamen.setText(check_sms + " Mensagens por ler!");





                      switch(check_sms) {
                      case "b":
                          novamen.setVisibility(View.GONE);
                          break;
                      case "a":
                          novamen.setVisibility(View.VISIBLE);
                          break;
                      default:
                          novamen.setVisibility(View.GONE);
                  }


                    } catch (Exception e) {
                          // Code to handle exception  

                         }

              url = ("http://mywebsite.php?action=requestuserdata&userid="+iduser);


              try {
               httpclient = new DefaultHttpClient();
               request = new HttpGet(url);
               response = httpclient.execute(request);
              }

              catch (Exception e) {
               }


              try {
               BufferedReader rd = new BufferedReader(new InputStreamReader(
                 response.getEntity().getContent()));
               String line = "";
               line = rd.readLine();



                   if(line == null){
                       Toast.makeText(getApplicationContext(), "Numero nao atribuido.",
                                  Toast.LENGTH_LONG).show();
                       Intent wowmuch = new Intent(getApplicationContext(), pin.class);
                     startActivity(wowmuch);    
                   }else{
                       result.append(line);

                   }

              } catch (Exception e) {

              }

              novamen = (Button) findViewById(R.id.mensagens);
                novamen.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {

                            chamaMensagens();
                            }

                        public void chamaMensagens () {

                            Intent mens = new Intent(getApplicationContext(),mensagens.class);
                            mens.putExtra("userid", iduser);
                            startActivity(mens);}});


              foto = (Button) findViewById(R.id.button1);
              foto.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {

                    Chamafoto();
                }
                public void Chamafoto() {

                    Intent wowmuch = new Intent(getApplicationContext(), Foto.class);
                    wowmuch.putExtra("userid", iduser);        
                    startActivity(wowmuch);
                }
            });
              Toast.makeText(getApplicationContext(), iduser, 
                      Toast.LENGTH_SHORT).show();
              nao = (Button) findViewById(R.id.button2);
                nao.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {

                            chamaConsulta();
                            }
                    }
                );
                }

                        public void chamaConsulta () {

                            Intent wowmuch = new Intent(getApplicationContext(),pin.class);

                            startActivity(wowmuch); 
                        }


}
Run Code Online (Sandbox Code Playgroud)

当我到达这个部分时:

switch(check_sms) {
                          case "b":
                              novamen.setVisibility(View.GONE);
                              break;
                          case "a":
                              novamen.setVisibility(View.VISIBLE);
                              break;
                          default:
                              novamen.setVisibility(View.GONE);
                      }
Run Code Online (Sandbox Code Playgroud)

当变量"check_sms"值为"b"时,该按钮是不可见/不可用的.

我测试了变量是否正在显示它是否在Toast中.

我也尝试使用if语句并且什么都不做.

Fan*_*mas 5

switch(someInteger)将工作.
switch(someChar)将工作.
switch(someEnum)将工作.
switch(someString)仅适用于JAVA 1.7.

据我所知,Android尚不支持Java 1.7.