0
在我的Android應用程序中有一個'管理玩家'的視圖,其中有'添加玩家'視圖。在「添加玩家」視圖中,我正在訪問攝像頭,因此我在onActivityResult上覆蓋了一個。當它遇到這種情況時,在「管理玩家」活動中,「添加玩家」視圖現在爲空。以下是代碼示例:Android的子視圖在父母活動的onActivityResult中爲null
public class ManagePlayersActivity {
private AddPlayerView addPlayerView = null;
private ManagePlayersView view;
private Context context;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
view = ManagePlayersViewFactory.create(this);
setContentView(view.asView());
public void onEvent(ClickEvent event) {
final Dialog d = new Dialog(context);
ManagePlayersActivity.this.addPlayerView = AddPlayerViewFactory.create(context);
ManagePlayersActivity.this.addPlayerView.setButtonPhotoPickerOnClickListener(new EventListener<ClickEvent>() {
public void onEvent(ClickEvent event) {
ManagePlayersActivity.this.addPlayerView.setPlayerPhoto("Setting Photo");
PackageManager pm = context.getPackageManager();
if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
}
});
d.show();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST) {
if (resultCode == RESULT_OK) {
ManagePlayersActivity.this.addPlayerView.setPlayerPhoto("Photo set");
}
}
}
}
因此,在執行該操作後,onActivity結果中的addPlayerView爲null。誠實地說,我對Android和Java非常陌生,我是一個沒有MVC經驗的c#web開發人員,因此可能會誤解它的根本原理。但是,任何幫助將不勝感激!
謝謝, 安迪
非常感謝。這阻止它爲空。現在的問題是視圖不再打開,並返回父視圖,關閉「添加播放器」視圖。這是一個簡單的改變,作爲其中的一部分,還是更廣泛的問題? –
是攝像頭未被調用還是整個視圖未打開? – anz