카테고리 없음

[기계적 인조 인간] getSupportParentActivityIntent ()를 구현하여 Android에서 up-button에 대한 활동을 동적으로 설정하는 방법 [중복]

행복을전해요 2021. 3. 1. 07:09

getSupportParentActivityIntent ()를 올바르게 구현하는 방법을 발견했으며이를 사용하여 Android에서 활동을 up-button으로 동적으로 설정할 수 있습니다. 여기에서 내가 어떻게 그것을 달성했는지.

두 가지 활동이 있다고 가정합니다. 활동 A와 B. A는 부모 활동이고 B는 자식입니다.

따라서 A는 B를 시작할 의도를 만들어야합니다. 부모 활동의 이름 인 추가 데이터를 전달해야합니다. 여기 예제에서는 'A'여야합니다. 다음은 코드입니다.

Intent intent = new Intent();
intent.putExtra("ParentClassName","A");
startActivity(intent.setClass(A.this, B.class)); //we are starting activity 'B'

이제 활동 B에서 getSupportParentActivityIntent ()를 재정의해야하며 다음과 같아야합니다.

@Override
public Intent getSupportParentActivityIntent() {
    Intent parentIntent= getIntent();
        String className = parentIntent.getStringExtra("ParentClassName"); //getting the parent class name
        
            Intent newIntent=null;
                try {
                         //you need to define the class with package name
                                  newIntent = new Intent(B.this,Class.forName("com.myapplication."+className));
                                  
                                      } catch (ClassNotFoundException e) {
                                              e.printStackTrace();
                                                  }
                                                      return newIntent;
                                                      }
                                                      
-------------------

당신의 아이 활동에서 같은 사용

@Override
public Intent getSupportParentActivityIntent() {
    String from = getIntent().getExtras().getString("from");
        Intent newIntent = null;
            if(from.equals("MAIN")){
                    newIntent = new Intent(this, MainActivity.class);
                        }else if(from.equals("FAV")){
                                newIntent = new Intent(this, FavoriteActivity.class);
                                    }
                                        ...
                                            return newIntent;
                                            }
                                            

그 전에 FavoriteActivity에서 말하는 각 소스 활동에 대한 추가 값을 입력해야합니다.

i.putExtra("from", "FAV");

및 MainActivity 사용

i.putExtra("from", "MAIN");


출처
https://stackoverflow.com/questions/22089806