두 클래스 모두 Activity
까지 확장됩니다.활동 중 하나를 재정의하면서 활동을 시작하는 방법은 무엇입니까?
는 MainActivity.java
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout activityLayout = new LinearLayout(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
activityLayout.setLayoutParams(lp);
activityLayout.setOrientation(LinearLayout.VERTICAL);
activityLayout.setPadding(16, 16, 16, 16);
activityLayout.addView(new Button(this));
setContentView(activityLayout);
new Permissions() {
@Override
public void onPermissionRefused() {
Toast.makeText(getBaseContext(), "Refused", Toast.LENGTH_SHORT).show();
}
}.requestPermissions(this);
}
}
Permissions.java
public class Permissions extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme_Dialog); // Custom theme to make Activity like a Dialog
super.onCreate(savedInstanceState);
onPermissionRefused();
}
public void requestPermissions(Activity activity, String... permissions) {
startActivity(new Intent(activity, Permissions.class));
}
public void onPermissionRefused() {
}
}
는 내가하고 싶은 것은 onPermissionRefused()
메소드의 오버라이드 (override)하는 동안 Permissions
Activity
을 시작합니다. 그러나 두 가지 방법 중 어느 것도 작동하지 않았습니다.
new Permissions() {
@Override
public void onPermissionRefused() {
Toast.makeText(getBaseContext(), "Refused", Toast.LENGTH_SHORT).show();
}
}.requestPermissions(this);
는 재정을 통과하지 않습니다와 함께 그 코드를 교환 :
startActivity(new Intent(this, Permissions.class));
심지어 나를 메소드를 오버라이드 (override) 할 수 없습니다. 이것을 어떻게 할 수 있습니까?