我有一个简单的地址表格,如下所示:
Java的:
public class NewAddressActivity extends AppCompatActivity {
private TextInputLayout mStreetLayout;
private TextInputLayout mNumberLayout;
private TextInputLayout mNeighborhoodLayout;
private TextInputLayout mCityLayout;
private TextInputLayout mStateLayout;
private TextInputLayout mCepLayout;
private TextInputLayout mPhoneLayout;
private EditText mStreetText;
private EditText mNumberText;
private EditText mComplementText;
private EditText mNeighborhoodText;
private EditText mCityText;
private EditText mStateText;
private EditText mCepText;
private EditText mPhoneText;
private Address mAddressEditing;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_address);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
mStreetLayout = findViewById(R.id.street_layout);
mNumberLayout = …Run Code Online (Sandbox Code Playgroud) 嗨,我正在开发一个使用地图的应用程序.
我正在使用Fragment Activity和一个名为Fragment-A的片段.
在Fragment-A中有一个按钮,在单击该按钮时弹出一个Dialog Fragment,显示一个地图,其中包含先前从服务器接收的某个位置.
让我们说这个对话框片段是DialogFragment-B.
它有一个关闭按钮,一个导航到谷歌地图应用程序以获取方向的按钮.
如果用户导航到DialogFragment-B并返回到Fragment-A,通过单击关闭按钮,每个东西都能正常工作.
但是如果用户点击后退按钮,现有的对话框片段将正常关闭,应用程序正常运行.
但是,如果用户然后按下主页按钮或接到电话呼叫,并且即使DialogFragment-B先前被解除,也会调用onResume,它会重新出现并按下close会使应用程序出现空指针异常
这是我打开DialogFragment-B的代码.
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
android.app.Fragment prev = fm.findFragmentByTag(MY_MAP);
if (prev != null) {
ft.remove(prev);
}
MyMapFragmentDialog newFragment = MyMapFragmentDialog
.newInstance(eachPost);
newFragment.show(ft, MY_MAP);
Run Code Online (Sandbox Code Playgroud)
在DialogFragment-B中点击关闭按钮,我调用MyMapFragmentDialog.this.dismiss();
如果有人遇到过这个问题并且克服了,请指导我.
android android-fragments android-dialogfragment android-fragmentactivity