Android 如何从活动多次打开DialogFragment?
我的对话框代码是Android 如何从活动多次打开DialogFragment?,android,android-activity,android-dialogfragment,Android,Android Activity,Android Dialogfragment,我的对话框代码是 public class ShowDialogScanFinger extends DialogFragment{ TextView t1; ProgressBar p1; @SuppressLint("NewApi") public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
public class ShowDialogScanFinger extends DialogFragment{
TextView t1;
ProgressBar p1;
@SuppressLint("NewApi")
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
@SuppressWarnings("unused")
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = inflater.inflate(R.layout.scanyourfinger, container, false);
getDialog().requestWindowFeature(STYLE_NO_TITLE);
t1 = (TextView) view.findViewById(R.id.textViewScanFingerMessage);
p1 = (ProgressBar) view.findViewById(R.id.progressBarScanFinger);
p1.setVisibility(View.VISIBLE);
return view;
}
}
从活动中:
ShowDialogScanFinger dialogscanfinger;
dialogscanfinger = new ShowDialogScanFinger();
我称之为
dialogscanfinger.show(getFragmentManager(), "scan");
如果我第一次打开对话框,一切都很好,但是如果我想第二次打开它,那么我会遇到问题
在控制台中,我的应用程序崩溃,错误为
09-22 11:15:32.119: E/AndroidRuntime(9885): FATAL EXCEPTION: main
09-22 11:15:32.119: E/AndroidRuntime(9885): java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
09-22 11:15:32.119: E/AndroidRuntime(9885): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
09-22 11:15:32.119: E/AndroidRuntime(9885): at java.util.ArrayList.set(ArrayList.java:477)
09-22 11:15:32.119: E/AndroidRuntime(9885): at android.app.FragmentManagerImpl.makeActive(FragmentManager.java:1078)
09-22 11:15:32.119: E/AndroidRuntime(9885): at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1103)
09-22 11:15:32.119: E/AndroidRuntime(9885): at android.app.BackStackRecord.run(BackStackRecord.java:569)
09-22 11:15:32.119: E/AndroidRuntime(9885): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397)
09-22 11:15:32.119: E/AndroidRuntime(9885): android.app.FragmentManagerImpl$1.run(FragmentManager.java:426)
09-22 11:15:32.119: E/AndroidRuntime(9885): at android.os.Handler.handleCallback(Handler.java:615)
09-22 11:15:32.119: E/AndroidRuntime(9885): at android.os.Handler.dispatchMessage(Handler.java:92)
09-22 11:15:32.119: E/AndroidRuntime(9885): at android.os.Looper.loop(Looper.java:153)
09-22 11:15:32.119: E/AndroidRuntime(9885): at android.app.ActivityThread.main(ActivityThread.java:4987)
09-22 11:15:32.119: E/AndroidRuntime(9885): at java.lang.reflect.Method.invokeNative(Native Method)
09-22 11:15:32.119: E/AndroidRuntime(9885): at java.lang.reflect.Method.invoke(Method.java:511)
09-22 11:15:32.119: E/AndroidRuntime(9885): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
09-22 11:15:32.119: E/AndroidRuntime(9885): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
09-22 11:15:32.119: E/AndroidRuntime(9885): at dalvik.system.NativeStart.main(Native Method)
此错误不在对话框中,您正在使用任何数组列表。?您试图在
onCreateView
代码中实现什么?这对我来说没什么意义。无论如何,我建议您重写onCreateDialog
,而不是onCreateView
;从我的代码中,我没有收到任何问题。你能粘贴代码吗?@DivyangMetalia我已经粘贴了