【问题标题】:Android “Unfortunately, <app> has stopped.”Android “很遗憾,<app> 已停止。”
【发布时间】:2013-12-19 11:39:27
【问题描述】:

我认为 App 停止了 setContentView(R.layout.main);TextState = (EditText) findViewById(R.id.TextState); 等等,但我不知道需要做什么。抱歉发错了,但请帮助我。

\res\layout-land\main.xml: - 需要水平界面

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top"
android:orientation="vertical" >

<Button
android:id="@+id/Down"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="22dp"
android:layout_marginLeft="22dp"
android:text="Button" />

<Button
android:id="@+id/Up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/Down"
android:layout_alignParentLeft="true"
android:layout_marginLeft="22dp"
android:text="Button" />

<Button
android:id="@+id/Left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/Down"
android:layout_alignParentRight="true"
android:layout_marginBottom="16dp"
android:layout_marginRight="111dp"
android:text="Button" />

<Button
android:id="@+id/Right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/Left"
android:layout_alignBottom="@+id/Left"
android:layout_alignParentRight="true"
android:layout_marginRight="20dp"
android:text="Button" />

<TextView
    android:id="@+id/TextState"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/Up"
    android:layout_centerHorizontal="true"
    android:text="Состояние"
    android:textSize="32sp" />

</RelativeLayout>

主活动:

public class MainActivity extends Activity implements OnClickListener {
EditText TextState;
Button Up;
Button Down;
Button Left;
Button Right;
@Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    TextState = (EditText) findViewById(R.id.TextState);

    Up = (Button) findViewById(R.id.Up);
    Down = (Button) findViewById(R.id.Down);
    Left = (Button) findViewById(R.id.Left);
    Right = (Button) findViewById(R.id.Right);

    Up.setOnClickListener(this);
    Down.setOnClickListener(this);
    Right.setOnClickListener(this);
    Left.setOnClickListener(this);
}
    @Override
    public void onClick(View v) {
         switch (v.getId()) {
            case R.id.Up:

              // TODO:
                TextState.setText("Едем вперед");

              break;
            case R.id.Down:

                  // TODO:
                TextState.setText("Едем назад");

              break;
            case R.id.Right:

                  // TODO:
                TextState.setText("Едем направо");

              break;
            case R.id.Left:

                  // TODO:
                TextState.setText("Едем налево");

              break;
            default:
              break;
    }

    }}

目录:

12-18 20:25:44.299: D/AndroidRuntime(647): Shutting down VM
12-18 20:25:44.299: W/dalvikvm(647): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
12-18 20:25:44.319: E/AndroidRuntime(647): FATAL EXCEPTION: main
12-18 20:25:44.319: E/AndroidRuntime(647): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app/com.example.app.MainActivity}: java.lang.NullPointerException
12-18 20:25:44.319: E/AndroidRuntime(647):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
12-18 20:25:44.319: E/AndroidRuntime(647):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
12-18 20:25:44.319: E/AndroidRuntime(647):  at android.app.ActivityThread.access$600(ActivityThread.java:130)
12-18 20:25:44.319: E/AndroidRuntime(647):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
12-18 20:25:44.319: E/AndroidRuntime(647):  at android.os.Handler.dispatchMessage(Handler.java:99)
12-18 20:25:44.319: E/AndroidRuntime(647):  at android.os.Looper.loop(Looper.java:137)
12-18 20:25:44.319: E/AndroidRuntime(647):  at android.app.ActivityThread.main(ActivityThread.java:4745)
12-18 20:25:44.319: E/AndroidRuntime(647):  at java.lang.reflect.Method.invokeNative(Native Method)
12-18 20:25:44.319: E/AndroidRuntime(647):  at java.lang.reflect.Method.invoke(Method.java:511)
12-18 20:25:44.319: E/AndroidRuntime(647):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
12-18 20:25:44.319: E/AndroidRuntime(647):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-18 20:25:44.319: E/AndroidRuntime(647):  at dalvik.system.NativeStart.main(Native Method)
12-18 20:25:44.319: E/AndroidRuntime(647): Caused by: java.lang.NullPointerException
12-18 20:25:44.319: E/AndroidRuntime(647):  at com.example.app.MainActivity.onCreate(MainActivity.java:32)
12-18 20:25:44.319: E/AndroidRuntime(647):  at android.app.Activity.performCreate(Activity.java:5008)
12-18 20:25:44.319: E/AndroidRuntime(647):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
12-18 20:25:44.319: E/AndroidRuntime(647):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
12-18 20:25:44.319: E/AndroidRuntime(647):  ... 11 more
12-18 20:26:10.839: I/Process(647): Sending signal. PID: 647 SIG: 9
12-18 20:26:16.799: E/Trace(662): error opening trace file: No such file or directory (2)
12-18 20:26:17.249: D/AndroidRuntime(662): Shutting down VM
12-18 20:26:17.249: W/dalvikvm(662): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
12-18 20:26:17.260: E/AndroidRuntime(662): FATAL EXCEPTION: main
12-18 20:26:17.260: E/AndroidRuntime(662): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app/com.example.app.MainActivity}: java.lang.NullPointerException
12-18 20:26:17.260: E/AndroidRuntime(662):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
12-18 20:26:17.260: E/AndroidRuntime(662):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
12-18 20:26:17.260: E/AndroidRuntime(662):  at android.app.ActivityThread.access$600(ActivityThread.java:130)
12-18 20:26:17.260: E/AndroidRuntime(662):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
12-18 20:26:17.260: E/AndroidRuntime(662):  at android.os.Handler.dispatchMessage(Handler.java:99)
12-18 20:26:17.260: E/AndroidRuntime(662):  at android.os.Looper.loop(Looper.java:137)
12-18 20:26:17.260: E/AndroidRuntime(662):  at android.app.ActivityThread.main(ActivityThread.java:4745)
12-18 20:26:17.260: E/AndroidRuntime(662):  at java.lang.reflect.Method.invokeNative(Native Method)
12-18 20:26:17.260: E/AndroidRuntime(662):  at java.lang.reflect.Method.invoke(Method.java:511)
12-18 20:26:17.260: E/AndroidRuntime(662):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
12-18 20:26:17.260: E/AndroidRuntime(662):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-18 20:26:17.260: E/AndroidRuntime(662):  at dalvik.system.NativeStart.main(Native Method)
12-18 20:26:17.260: E/AndroidRuntime(662): Caused by: java.lang.NullPointerException
12-18 20:26:17.260: E/AndroidRuntime(662):  at com.example.app.MainActivity.onCreate(MainActivity.java:32)
12-18 20:26:17.260: E/AndroidRuntime(662):  at android.app.Activity.performCreate(Activity.java:5008)
12-18 20:26:17.260: E/AndroidRuntime(662):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
12-18 20:26:17.260: E/AndroidRuntime(662):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
12-18 20:26:17.260: E/AndroidRuntime(662):  ... 11 more
12-18 20:26:49.719: I/Process(662): Sending signal. PID: 662 SIG: 9

【问题讨论】:

  • TextStateTextView,而不是 EditText
  • 正如 zouzou 所说,textstate 是 textview 而不是 edittext replace TextState = (EditText) findViewById(R.id.TextState); with TextState = (TextView) findViewById(R.id.TextState);
  • 我做了但没有帮助
  • 布局文件夹中有 main.xml 文件吗?如果缺少它,那就是一个问题。手机可能会尝试从布局文件夹中加载。另外,请在第 32 行提及您的内容
  • 布局文件夹中有 main.xml。

标签: java android eclipse


【解决方案1】:
Caused by: java.lang.NullPointerException
at com.example.app.MainActivity.onCreate(MainActivity.java:32)

只需阅读您的 Logcat,您将在第 32 行获得 NPE。可能 findViewById 没有找到您的视图并且该字段为空。

【讨论】:

    【解决方案2】:

    你应该在第 32 行找到问题

    com.example.app.MainActivity.onCreate(MainActivity.java:32)

    【讨论】:

      【解决方案3】:

      将您的 TextView 更改为 EditText。问题解决了

      【讨论】:

        【解决方案4】:

        我在这里发现了你的错误


        EditText TextState;
        TextState = (EditText)findViewById(R.id.TextState)
        改成 TextView TextState;

        TextState = (TextView)findViewById(R.id.TextState)

        或在 XML 文件中

        <EditText
        android:id="@+id/TextState"/>
        

        【讨论】:

        • 将 TextState = (EditText)findViewById(R.id.TextState) 更改为 TextState = (TextView)findViewById(R.id.TextState) 没有帮助((
        • 按我说的在xml中更改^^请尝试
        猜你喜欢
        • 2012-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-03
        • 1970-01-01
        • 1970-01-01
        • 2014-10-23
        • 1970-01-01
        相关资源
        最近更新 更多