Ich lerne, wie man lineare Layouts verwendet. Ich habe eine neue Layout-Ressourcendatei erstellt, die Schaltflächen und den Text gezogen, ihre Eigenschaften angepasst. Die App stürzt ab, wenn andere auf dem virtuellen Gerät mit API läuft 16 habe ich versucht, die folgenden Lösungen aber nicht funktioniert:Fehler erhalten java.lang.RuntimeException: Aktivität konnte nicht gestartet werden ComponentInfo
- ich die API 15
- geändert habe ich habe meine app Thema geändert Holo.light.DarkActionBar
ist die logcat:
06-14 20:56:20.692 1281-1281/? D/dalvikvm: Late-enabling CheckJNI
06-14 20:56:20.728 1281-1287/? D/dalvikvm: Debugger has detached; object registry had 1 entries
06-14 20:56:20.796 1281-1281/? W/dalvikvm: VFY: unable to find class referenced in signature (Landroid/view/SearchEvent;)
06-14 20:56:20.800 1281-1281/? I/dalvikvm: Could not find method android.view.Window$Callback.onSearchRequested, referenced from method android.support.v7.view.WindowCallbackWrapper.onSearchRequested
06-14 20:56:20.800 1281-1281/? W/dalvikvm: VFY: unable to resolve interface method 18815: Landroid/view/Window$Callback;.onSearchRequested (Landroid/view/SearchEvent;)Z
06-14 20:56:20.800 1281-1281/? D/dalvikvm: VFY: replacing opcode 0x72 at 0x0002
06-14 20:56:20.800 1281-1281/? I/dalvikvm: Could not find method android.view.Window$Callback.onWindowStartingActionMode, referenced from method android.support.v7.view.WindowCallbackWrapper.onWindowStartingActionMode
06-14 20:56:20.800 1281-1281/? W/dalvikvm: VFY: unable to resolve interface method 18819: Landroid/view/Window$Callback;.onWindowStartingActionMode (Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
06-14 20:56:20.800 1281-1281/? D/dalvikvm: VFY: replacing opcode 0x72 at 0x0002
06-14 20:56:20.816 1281-1281/? D/AndroidRuntime: Shutting down VM
06-14 20:56:20.816 1281-1281/? W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xa6253288)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: FATAL EXCEPTION: main
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.shubhendu.linearlayoutexperiments/com.example.shubhendu.linearlayoutexperiments.MainActivity}: java.lang.NullPointerException
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:130)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4745)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: Caused by: java.lang.NullPointerException
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at com.example.shubhendu.linearlayoutexperiments.MainActivity.onCreate(MainActivity.java:22)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:5008)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:130)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4745)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
06-14 20:56:20.816 1281-1281/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
06-14 20:56:22.640 1281-1281/? I/Process: Sending signal. PID: 1281 SIG: 9
Mein MainActivity.java:
package com.example.shubhendu.linearlayoutexperiments;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.linear_experiment);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Und mein linear_experiment.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight=".5"
android:gravity="center_horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button2" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="0.5">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView2"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView3"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp" />
</LinearLayout>
</LinearLayout>
Scheint wie diese Zeile: 'fab.setOnClickListener' verursacht den Fehler. Was bedeutet, dass das "fab" null ist. Können Sie überprüfen, ob die ID korrekt ist? – Vucko