Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 设置EditText.setText()会使应用程序崩溃_Java_Android - Fatal编程技术网

Java 设置EditText.setText()会使应用程序崩溃

Java 设置EditText.setText()会使应用程序崩溃,java,android,Java,Android,我是一名学习android的iOS开发者,遇到了这个问题,但在任何地方都找不到。这是我的代码 public static EditText adminUsername; public static String restoredUsername; public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() { } @Override pub

我是一名学习android的iOS开发者,遇到了这个问题,但在任何地方都找不到。这是我的代码

public static EditText adminUsername;
public static String restoredUsername;



public static class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_admin,
                container, false);

        Log.d("checkpoint", "1");
        //if there is a previous successful login, autofill username
        Log.d("checkpoint", "2");
        SharedPreferences prefs = getActivity().getPreferences(MODE_PRIVATE); 
        Log.d("checkpoint", "3");
        restoredUsername = prefs.getString("adminusername","");
        if(!restoredUsername.equals(""))
          {
            //if it isn't blank, restore it

              Log.d("checkpoint", "5");
              adminUsername = (EditText)getActivity().findViewById(R.id.adminusername);
              Log.d("checkpoint", "6");
              Log.d("username", restoredUsername);

              adminUsername.setText(restoredUsername);    
              Log.d("checkpoint", "7");
          }


        return rootView;
    }
}
在检查点6和正在进行的log.d之后,应用程序在adminUsername.setText(restoredUsername)上崩溃

这是日志

07-12 23:10:11.424: D/checkpoint(5105): 1
07-12 23:10:11.424: D/checkpoint(5105): 2
07-12 23:10:11.434: D/checkpoint(5105): 3
07-12 23:10:11.444: D/checkpoint(5105): 5
07-12 23:10:11.444: D/checkpoint(5105): 6
07-12 23:10:11.444: D/username(5105): alexatwater
07-12 23:10:11.444: D/AndroidRuntime(5105): Shutting down VM
07-12 23:10:11.444: W/dalvikvm(5105): threadid=1: thread exiting with uncaught exception (group=0xb0d2ab20)
07-12 23:10:11.464: E/AndroidRuntime(5105): FATAL EXCEPTION: main
07-12 23:10:11.464: E/AndroidRuntime(5105): Process: com.alexatwater.elhsapcalc, PID: 5105
07-12 23:10:11.464: E/AndroidRuntime(5105): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.alexatwater.elhsapcalc/com.alexatwater.elhsapcalc.AdminActivity}: java.lang.NullPointerException
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.os.Handler.dispatchMessage(Handler.java:102)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.os.Looper.loop(Looper.java:136)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.ActivityThread.main(ActivityThread.java:5017)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at java.lang.reflect.Method.invokeNative(Native Method)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at java.lang.reflect.Method.invoke(Method.java:515)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at dalvik.system.NativeStart.main(Native Method)
07-12 23:10:11.464: E/AndroidRuntime(5105): Caused by: java.lang.NullPointerException
07-12 23:10:11.464: E/AndroidRuntime(5105):     at com.alexatwater.elhsapcalc.AdminActivity$PlaceholderFragment.onCreateView(AdminActivity.java:186)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.Fragment.performCreateView(Fragment.java:1700)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:890)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.BackStackRecord.run(BackStackRecord.java:684)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.Activity.performStart(Activity.java:5240)
07-12 23:10:11.464: E/AndroidRuntime(5105):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168)
07-12 23:10:11.464: E/AndroidRuntime(5105):     ... 11 more
07-12 23:10:13.444: I/Process(5105): Sending signal. PID: 5105 SIG: 9

这让我发疯,任何帮助都将不胜感激

问题出在检查点5之后:

adminUsername = (EditText)getActivity().findViewById(R.id.adminusername);
使用在片段中膨胀的根视图,而不是从活动创建EditText:

adminUsername = (EditText)rootView.findViewById(R.id.adminusername);

第186行是什么?这就是你有一个空指针的地方,除非这个问题解决了,请把它当作正确的。谢谢