2015-05-03 4 views
-2

У меня есть два webViews в моем приложении. Если они нажимают «N», я хочу скрыть «M» и сделать «N» видимым. И наоборот, когда они нажимают «N». В случае, когда я заявляю в случае 1 и случае 2, случай 2 показывает ошибку, что он уже объявлен, но когда я его удаляю, он говорит, что переменная не объявлена. Это код.Переменная уже объявлена ​​в области

public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
     switch (item.getItemId()) { 
      case R.id.action_naver: 
       View naver = findViewById(R.id.webView); 
       View mw = findViewById(R.id.webView2); 
       mw.setVisibility(View.GONE); 
       naver.setVisibility(View.VISIBLE); 

       return true; 
      case R.id.action_mw: 
       View naver = findViewById(R.id.webView); 
       View mw = findViewById(R.id.webView2); 
       naver.setVisibility(View.GONE); 
       mw.setVisibility(View.VISIBLE); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
     } 

ответ

3

Переместите свое мнение, находясь за пределами оператора switch, чтобы сделать это один раз.

public boolean onOptionsItemSelected(MenuItem item) { 
// Handle action bar item clicks here. The action bar will 
// automatically handle clicks on the Home/Up button, so long 
// as you specify a parent activity in AndroidManifest.xml. 
View naver = findViewById(R.id.webView); 
View mw = findViewById(R.id.webView2); 

    switch (item.getItemId()) { 
     case R.id.action_naver: 
      mw.setVisibility(View.GONE); 
      naver.setVisibility(View.VISIBLE); 
      return true; 
     case R.id.action_mw: 
      naver.setVisibility(View.GONE); 
      mw.setVisibility(View.VISIBLE); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
Смежные вопросы