마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

네비게이션 드로워 화면 전환

0 추천

intent로 했는데 왜 안되는 건가요?

public boolean onNavigationItemSelected(MenuItem item) {
    int id = item.getItemId();

    if (id == R.id.nav_allStock) {
        Intent intent = new Intent(MainActivity.this, allStockActivity.class);
        startActivity(intent);
    } else if (id == R.id.nav_interest) {
        Intent intent = new Intent(MainActivity.this, InterestActivity.class);
        startActivity(intent);
    } else if (id == R.id.nav_theme) {

    } else if (id == R.id.nav_recommend) {

    } else if (id == R.id.nav_memo) {

    }
oncloudnine (120 포인트) 님이 2021년 4월 2일 질문

1개의 답변

0 추천

질문에 어떤 부분이 안되는지 어떻게 해결을 하려고 하셨는지 알려주시면 더 좋을 것 같아요.

 

별개의 이야기지만, 한가지 조언을 드리자만 네비게이션 하는 부분은 별개의 코드르 빼셔야 재사용도 가능해지고 나중에 네비게이션 쪽을 추가하거나 수정할 때도 한 곳만 고치면 되므로 훨씬 깔끔해 집니다. 간단하게 아래처럼 ScreensNavigator를 만들어 사용하세요.

public class ScreensNavigator {
   
     private final Activity activity;

     public consttructor(Activity activitiy) {
           this.activity = activity;
     }

     public void navigateToAlStock() {
          Intent intent = new Itnent(this.activity, AllStockActivity.class);
           startActivity(intent);
     }

     public void navigateToInterest() {
          Intent intent = new Itnent(this.activity, InterestActivityclass);
           startActivity(intent);
     }
}



public abstract class BaseActivity extends AppCompatActivity {

      protected ScreensNavigator screensNavigator;


     public void onCreaste(Bundle savedInstance) {
            inject();
            super.onCreaste(savedInstance)
    }

   protected void inject() {
          screensNavigator = new ScreensNavigator(this);
  }
}


public class MainActivity extends BaseActivity {
    

    public boolean onNavigationItemSelected(MenuItem item) {

          switcvh(item.getItemId()) {
              case R.id.nav_allStock: 
                     screensNavigator.navigateToMain();
                     break;
               case R.id.nav_interest:
                     screensNavigator.navigateToInterest();
                     break;
                case  R.id.nav_theme:
                    break;
                case  R.id.nav_recommend:
                    break;
                 case  R.id.nav_memo:
                    break;
                default:
                    throw UnsupportedOperationException("Menu id not supported: " + item.getItemId());
          }

         return true;
}

 

spark (227,470 포인트) 님이 2021년 4월 3일 답변
...