Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.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
Android 不幸的是,myApp在尝试覆盖onStart时已停止_Android - Fatal编程技术网

Android 不幸的是,myApp在尝试覆盖onStart时已停止

Android 不幸的是,myApp在尝试覆盖onStart时已停止,android,Android,我对安卓非常陌生。 我试图研究生命周期方法。 试图重写onStart方法,但使应用程序停止时出错。 我可以发现它是由NullPointerException引起的,但我无法确定它是由哪个变量引起的。 请帮忙, 这是我的密码 public class MainActivity extends Activity { TextView mStart; int iStart=0; @Override protected void onCreate(Bundle savedInstanceState)

我对安卓非常陌生。 我试图研究生命周期方法。 试图重写onStart方法,但使应用程序停止时出错。 我可以发现它是由NullPointerException引起的,但我无法确定它是由哪个变量引起的。 请帮忙, 这是我的密码

public class MainActivity extends Activity {

TextView mStart;
int iStart=0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mStart=(TextView)findViewById(R.id.sStart);

    setContentView(R.layout.activity_main);
}

public void onStart()
{
    super.onStart();
    iStart++;
    mStart.setText(iStart);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}
这是日志

  03-08 07:08:05.216: E/AndroidRuntime(1604): FATAL EXCEPTION: main
  03-08 07:08:05.216: E/AndroidRuntime(1604): Process: course.android.myfirstapp, PID: 1604
  03-08 07:08:05.216: E/AndroidRuntime(1604): java.lang.RuntimeException: Unable to start activity ComponentInfo{course.android.myfirstapp/course.android.myfirstapp.MainActivity}: java.lang.NullPointerException
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at android.app.ActivityThread.access$700(ActivityThread.java:135)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at android.os.Handler.dispatchMessage(Handler.java:102)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at android.os.Looper.loop(Looper.java:137)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at android.app.ActivityThread.main(ActivityThread.java:4998)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at java.lang.reflect.Method.invokeNative(Native Method)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at java.lang.reflect.Method.invoke(Method.java:515)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at dalvik.system.NativeStart.main(Native Method)
  03-08 07:08:05.216: E/AndroidRuntime(1604): Caused by: java.lang.NullPointerException
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at course.android.myfirstapp.MainActivity.onStart(MainActivity.java:26)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at android.app.Activity.performStart(Activity.java:5253)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2149)
  03-08 07:08:05.216: E/AndroidRuntime(1604):   ... 11 more
setContentView()
之后,只有视图可用。否则其
null
更改这些行的顺序

 mStart=(TextView)findViewById(R.id.sStart);
 setContentView(R.layout.activity_main);
进入

在这一行

 mStart.setText(iStart);
此处
iStart
作为
资源id
。因此它将抛出
ResourceNotFoundException
。将该行更改为

mStart.setText(""+iStart);

onCreate()
中,在调用
setContentView()之前分配
mStart
。因此
mStart
将为
null
。使用
setContentView
对视图进行膨胀后,需要调用
findViewById
,调用之前,无法找到任何UI元素的ID

 setContentView(R.layout.activity_main)
方法。所以从

mStart=(TextView)findViewById(R.id.sStart);

setContentView(R.layout.activity_main);

您还必须从

 mStart.setText(iStart);

setContentView(R.layout.activity_main);
mStart=(TextView)findViewById(R.id.sStart);
 mStart.setText(iStart);
  mStart.setText(iStart+"");