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