Android-App kann Aktivitätskomponenteninfo nicht starten

Lesezeit: 15 Minuten

Benutzer-Avatar
Slicekick

Ich bin ein neuer Android-Programmierer und in letzter Zeit haben viele meiner Projekte diesen Fehler erhalten:

07-31 23:45:19.592: ERROR/AndroidRuntime(716): java.lang.RuntimeException: Unable to start     

activity ComponentInfo{com.amrit.musifind/com.amrit.musifind.Main}: 

java.lang.NullPointerException

Kann mir jemand helfen, dieses Problem zu lösen?

Hier ist der gesamte Logcat-Stack-Trace:

07-31 23:45:18.512: INFO/ActivityManager(63): Starting activity: Intent {     
act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000   
cmp=com.amrit.musifind/.Main }
07-31 23:45:18.682: INFO/ActivityManager(63): Start proc com.amrit.musifind for activity   
com.amrit.musifind/.Main: pid=716 uid=10025 gids={3003}
07-31 23:45:18.962: INFO/jdwp(716): received file descriptor 20 from ADB
07-31 23:45:19.102: DEBUG/ddm-heap(716): Got feature list request
07-31 23:45:19.572: DEBUG/AndroidRuntime(716): Shutting down VM
07-31 23:45:19.572: WARN/dalvikvm(716): threadid=3: thread exiting with uncaught   
exception (group=0x4001aa28)
07-31 23:45:19.572: ERROR/AndroidRuntime(716): Uncaught handler: thread main exiting due 
to uncaught exception
07-31 23:45:19.592: ERROR/AndroidRuntime(716): java.lang.RuntimeException: Unable to    
start activity ComponentInfo{com.amrit.musifind/com.amrit.musifind.Main}:    
java.lang.NullPointerException
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at    
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at    
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at    
android.app.ActivityThread.access$2100(ActivityThread.java:116)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at   
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at   
android.os.Handler.dispatchMessage(Handler.java:99)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at       
android.os.Looper.loop(Looper.java:123)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at   
android.app.ActivityThread.main(ActivityThread.java:4203)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at    
java.lang.reflect.Method.invokeNative(Native Method)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at   
java.lang.reflect.Method.invoke(Method.java:521)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at   
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at   
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at   
dalvik.system.NativeStart.main(Native Method)
07-31 23:45:19.592: ERROR/AndroidRuntime(716): Caused by: java.lang.NullPointerException
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at   
com.amrit.musifind.Main.onCreate(Main.java:44)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at 
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     at     
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
07-31 23:45:19.592: ERROR/AndroidRuntime(716):     ... 11 more
07-31 23:45:19.612: INFO/Process(63): Sending signal. PID: 716 SIG: 3
07-31 23:45:19.612: INFO/dalvikvm(716): threadid=7: reacting to signal 3
07-31 23:45:19.642: INFO/dalvikvm(716): Wrote stack trace to '/data/anr/traces.txt'
07-31 23:45:21.422: INFO/Process(716): Sending signal. PID: 716 SIG: 9
07-31 23:45:21.442: INFO/ActivityManager(63): Process com.amrit.musifind (pid 716) has   
died.
07-31 23:45:21.583: WARN/UsageStats(63): Unexpected resume of com.android.launcher while    
already resumed in com.amrit.musifind
07-31 23:45:21.712: WARN/InputManagerService(63): Window already focused, ignoring focus    
gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@439559d0
07-31 23:45:23.482: DEBUG/AndroidRuntime(725): >>>>>>>>>>>>>> AndroidRuntime START    
<<<<<<<<<<<<<<
07-31 23:45:23.482: DEBUG/AndroidRuntime(725): CheckJNI is ON
07-31 23:45:23.812: DEBUG/AndroidRuntime(725): --- registering native functions ---
07-31 23:45:23.832: INFO/jdwp(725): received file descriptor 20 from ADB
07-31 23:45:24.193: DEBUG/ddm-heap(725): Got feature list request
07-31 23:45:25.052: DEBUG/AndroidRuntime(725): Shutting down VM
07-31 23:45:25.052: DEBUG/dalvikvm(725): DestroyJavaVM waiting for non-daemon threads to   
exit
07-31 23:45:25.062: DEBUG/dalvikvm(725): DestroyJavaVM shutting VM down
07-31 23:45:25.062: DEBUG/dalvikvm(725): HeapWorker thread shutting down
07-31 23:45:25.062: DEBUG/dalvikvm(725): HeapWorker thread has shut down
07-31 23:45:25.073: DEBUG/jdwp(725): JDWP shutting down net...
07-31 23:45:25.073: DEBUG/jdwp(725): +++ peer disconnected
07-31 23:45:25.073: INFO/dalvikvm(725): Debugger has detached; object registry had 1   
entries
07-31 23:45:25.093: DEBUG/dalvikvm(725): VM cleaning up
07-31 23:45:25.113: DEBUG/dalvikvm(725): LinearAlloc 0x0 used 665652 of 4194304 (15%)
07-31 23:47:22.712: DEBUG/dalvikvm(104): GC freed 9173 objects / 524184 bytes in 149ms

Hier ist die 1. Aktivität: start.java

package com.amrit.musifind;

import java.io.BufferedReader;
import java.io.InputStreamReader;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import com.amrit.musifind.R;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public abstract class start extends Activity implements OnClickListener {

Button buttonGo, buttonReset;
EditText EditTextinput;
String input = "";
String ur = "http://www.tastekid.com/ask/ws?q=";
String l = "&f=musifin2125&k=mjjlnzkyzwuz&format=JSON";
String url = "" ;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    buttonGo = (Button) findViewById(R.id.buttonGo);
    buttonReset = (Button) findViewById(R.id.buttonReset);

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

    //Button listener
    buttonReset.setOnClickListener(this);
    buttonGo.setOnClickListener(this);
}

public void onClick (View src){
    switch(src.getId()){
        case R.id.buttonGo:
            input = EditTextinput.getText().toString();
            url = ur + input + l  ;

            Intent Main = new Intent(this, ToClass.class);
            Main.putExtra("userurl", url);
            startActivity(Main);
            break;

        case R.id.buttonReset:
            EditTextinput.setText("");
            break;
        }
    }
}

Die zweite Aktivität: Main.java

package com.amrit.musifind;

import java.util.ArrayList;
import java.util.HashMap;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

import com.amrit.musifind.JSONfunctions;
import com.amrit.musifind.R;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Main extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listplaceholder);

    Intent intent = getIntent();
    String url = intent.getExtras().getString("userurl");

    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>    
    ();

    JSONObject json = JSONfunctions.getJSONfromURL(url);

    try{
        JSONObject earthquakes = json.getJSONObject("Similar");
        JSONArray info = earthquakes.getJSONArray("Results");

        for (int i = 0; i < info.length(); i++) {
            HashMap<String, String> map = new HashMap<String, String>();
            JSONObject e = info.getJSONObject(i);

            map.put("id", String.valueOf(i));
            map.put("name", "Name:" + e.getString("Name"));
            map.put("type", "Type: " + e.getString("Type"));
            mylist.add(map);
        }

        JSONArray  results = json.getJSONArray("Results");

        for(int i=0;i<results.length();i++){                        
            HashMap<String, String> map = new HashMap<String, String>();    
            JSONObject e = results.getJSONObject(i);

            map.put("id",  String.valueOf(i));
            map.put("name", "Name:" + e.getString("name"));
            map.put("type", "Type: " +  e.getString("type"));
            mylist.add(map);            
        }       
    } catch(JSONException e) {
         Log.e("log_tag", "Error parsing data "+e.toString());
    }

    ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.main, 
         new String[] { "name", "type" }, 
         new int[] { R.id.item_title, R.id.item_subtitle });

    setListAdapter(adapter);

    final ListView lv = getListView();
    lv.setTextFilterEnabled(true);  
    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {              
            @SuppressWarnings("unchecked")
            HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);                   
            Toast.makeText(Main.this, "ID '" + o.get("id") + "' was clicked.", 
                Toast.LENGTH_SHORT).show(); 
            }
        });
    }
}

Zuletzt meine Manifestdatei: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.amrit.musifind"
    android:versionCode="1"
    android:versionName="1.0">
    <uses-sdk android:minSdkVersion="4" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".start" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.start" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name= ".Main">
            <intent-filter>
                <action android:name="android.intent.action.Main" />
            </intent-filter>
        </activity>
    </application>

    <uses-permission android:name="android.permission.INTERNET" />

</manifest>

Jede Hilfe ist sehr willkommen, ohne dieses Problem zu lösen, kann ich meine App nicht testen!

  • könntest du bitte den kompletten Stacktrace posten?

    – Mircea Nistor

    1. August 2011 um 15:26 Uhr

  • Wie mache ich das? Entschuldigung, ich bin ganz neu bei Android 🙂

    – Slicekick

    1. August 2011 um 15:46 Uhr

  • Sie finden den Call-Stack in der Logcat-Ausgabe. Sie haben einen Teil davon bereits am Anfang Ihres Beitrags eingefügt (der mit der Nullzeiger-Ausnahme).

    – Mircea Nistor

    1. August 2011 um 15:50 Uhr

  • Ich habe dies erhalten, als ich versucht habe, einen Klick-Listener zuzuweisen, bevor ich eine Inhaltsansicht festgelegt habe. Wenn also vor dem Aufruf von setContentView zum Einrichten der Ansicht ein view.setOnClickListener angezeigt wird, erhalten Sie diesen Fehler. Wenn Ihr Code dies auch tut, ändern Sie einfach die Reihenfolge um zuerst die Ansicht festzulegen und dann die Zuhörer zuzuweisen.

    – Damian Smith

    4. Februar 2013 um 11:52 Uhr


Benutzer-Avatar
Mircea Nistor

Ihre Nullzeiger-Ausnahme scheint sich in dieser Zeile zu befinden:

String url = intent.getExtras().getString("userurl");

Weil intent.getExtras() gibt null zurück, wenn die Absicht keine Extras hat.

Sie müssen erkennen, dass dieses Stück Code:

Intent Main = new Intent(this, ToClass.class);
Main.putExtra("userurl", url);
startActivity(Main);

die Aktivität, die Sie in Main.java geschrieben haben, nicht startet, wird versucht, eine Aktivität namens zu starten ToClass und wenn das nicht vorhanden ist, stürzt Ihre App ab.

Außerdem gibt es sowas nicht "android.intent.action.start" Das Manifest sollte also eher so aussehen:

<activity android:name=".start" android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity android:name= ".Main">
</activity>

Ich hoffe, dass dies einige der Probleme behebt, auf die Sie stoßen, aber ich empfehle Ihnen dringend, sich einige „Erste Schritte“-Tutorials für die Android-Entwicklung anzusehen und von dort aus aufzubauen.

  • Ich habe den Code, auf den Sie hingewiesen haben, entfernt und meine Manifestdatei bearbeitet, aber ich bekomme immer noch eine Kraft in der Nähe. Dies ist der neue Fehler von logcat: 08-01 12:28:01.522: ERROR/AndroidRuntime(807): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.amrit.musifind/com.amrit.musifind.start} : java.lang.InstantiationException: com.amrit.musifind.start

    – Slicekick

    1. August 2011 um 17:28 Uhr


  • Auch hier benötige ich mehr als die erste Zeile der Aufrufliste

    – Mircea Nistor

    1. August 2011 um 17:44 Uhr

  • Ich habe es behoben, ich hatte “öffentliche abstrakte Klasse” statt nur “öffentliche Klasse”. Vielen Dank!

    – Slicekick

    1. August 2011 um 17:48 Uhr

Die Frage ist bereits beantwortet, aber ich möchte weitere Informationen zu den Ursachen hinzufügen.

Android-App kann Aktivitätskomponenteninfo nicht starten

Dieser Fehler tritt häufig mit entsprechenden Protokollen auf. Sie können Protokolle lesen und dieses Problem leicht lösen.

Hier ist ein Beispielprotokoll. In dem Sie klar sehen können ClassCastException. Dieses Problem kam also, weil TextView kann nicht gecastet werden EditText.

Verursacht durch: java.lang.ClassCastException: android.widget.TextView kann nicht in android.widget.EditText umgewandelt werden

11-04 01:24:10.403: D/AndroidRuntime(1050): Shutting down VM
11-04 01:24:10.403: W/dalvikvm(1050): threadid=1: thread exiting with uncaught exception (group=0x41465700)
11-04 01:24:10.543: E/AndroidRuntime(1050): FATAL EXCEPTION: main
11-04 01:24:10.543: E/AndroidRuntime(1050): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.troysantry.tipcalculator/com.troysantry.tipcalculator.TipCalc}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 01:24:10.543: E/AndroidRuntime(1050):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at android.os.Looper.loop(Looper.java:137)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at android.app.ActivityThread.main(ActivityThread.java:5103)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at java.lang.reflect.Method.invokeNative(Native Method)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at java.lang.reflect.Method.invoke(Method.java:525)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at dalvik.system.NativeStart.main(Native Method)
11-04 01:24:10.543: E/AndroidRuntime(1050): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 01:24:10.543: E/AndroidRuntime(1050):     at com.troysantry.tipcalculator.TipCalc.onCreate(TipCalc.java:45)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at android.app.Activity.performCreate(Activity.java:5133)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-04 01:24:10.543: E/AndroidRuntime(1050):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
11-04 01:24:10.543: E/AndroidRuntime(1050):     ... 11 more
11-04 01:29:11.177: I/Process(1050): Sending signal. PID: 1050 SIG: 9
11-04 01:31:32.080: D/AndroidRuntime(1109): Shutting down VM
11-04 01:31:32.080: W/dalvikvm(1109): threadid=1: thread exiting with uncaught exception (group=0x41465700)
11-04 01:31:32.194: E/AndroidRuntime(1109): FATAL EXCEPTION: main
11-04 01:31:32.194: E/AndroidRuntime(1109): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.troysantry.tipcalculator/com.troysantry.tipcalculator.TipCalc}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 01:31:32.194: E/AndroidRuntime(1109):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at android.os.Looper.loop(Looper.java:137)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at android.app.ActivityThread.main(ActivityThread.java:5103)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at java.lang.reflect.Method.invokeNative(Native Method)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at java.lang.reflect.Method.invoke(Method.java:525)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at dalvik.system.NativeStart.main(Native Method)
11-04 01:31:32.194: E/AndroidRuntime(1109): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 01:31:32.194: E/AndroidRuntime(1109):     at com.troysantry.tipcalculator.TipCalc.onCreate(TipCalc.java:44)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at android.app.Activity.performCreate(Activity.java:5133)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-04 01:31:32.194: E/AndroidRuntime(1109):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
11-04 01:31:32.194: E/AndroidRuntime(1109):     ... 11 more
11-04 01:36:33.195: I/Process(1109): Sending signal. PID: 1109 SIG: 9
11-04 02:11:09.684: D/AndroidRuntime(1167): Shutting down VM
11-04 02:11:09.684: W/dalvikvm(1167): threadid=1: thread exiting with uncaught exception (group=0x41465700)
11-04 02:11:09.855: E/AndroidRuntime(1167): FATAL EXCEPTION: main
11-04 02:11:09.855: E/AndroidRuntime(1167): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.troysantry.tipcalculator/com.troysantry.tipcalculator.TipCalc}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 02:11:09.855: E/AndroidRuntime(1167):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at android.os.Looper.loop(Looper.java:137)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at android.app.ActivityThread.main(ActivityThread.java:5103)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at java.lang.reflect.Method.invokeNative(Native Method)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at java.lang.reflect.Method.invoke(Method.java:525)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at dalvik.system.NativeStart.main(Native Method)
11-04 02:11:09.855: E/AndroidRuntime(1167): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 02:11:09.855: E/AndroidRuntime(1167):     at com.troysantry.tipcalculator.TipCalc.onCreate(TipCalc.java:44)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at android.app.Activity.performCreate(Activity.java:5133)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-04 02:11:09.855: E/AndroidRuntime(1167):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
11-04 02:11:09.855: E/AndroidRuntime(1167):     ... 11 more

Einige häufige Fehler.

1.findViewById() der nicht vorhandenen Ansicht

Wie wenn Sie verwenden findViewById(R.id.button) wenn die Schaltflächen-ID nicht im Layout-XML vorhanden ist.

2. Falsche Besetzung.

Wenn Sie eine Klasse falsch gecastet haben, erhalten Sie diesen Fehler. Wie du gecastet hast RelativeLayout zu LinearLayout oder EditText zu TextView.

3. Aktivität nicht registriert in manifest.xml

Wenn Sie Aktivität nicht registriert haben in manifest.xml dann kommt dieser fehler.

4. findViewById() mit Deklaration auf höchstem Niveau

Der folgende Code ist falsch. Dadurch wird ein Fehler erzeugt. Weil du es tun solltest findViewById() nach Anruf setContentView(). Weil eine Ansicht vorhanden sein kann, nachdem sie erstellt wurde.

public class MainActivity extends Activity {

  ImageView mainImage = (ImageView) findViewById(R.id.imageViewMain); //incorrect way

  @Override
  protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mainImage = (ImageView) findViewById(R.id.imageViewMain); //correct way
    //...
  }
}

5. Starten abstract Aktivitätsklasse.

Wenn Sie versuchen, eine abstrakte Aktivität zu starten, erhalten Sie diesen Fehler. Also nur Löschen abstract Stichwort vor dem Namen der Aktivitätsklasse.

6. Verwendung von Kotlin, aber Kotlin nicht konfiguriert.

Wenn Ihre Aktivität in Kotlin geschrieben ist und Sie Kotlin nicht in Ihrer App eingerichtet haben. dann bekommst du fehler. Sie können den einfachen Schritten folgen, wie in beschrieben Android-Link oder Kotlin-Link. Sie können diese Antwort auch überprüfen.

Mehr Informationen

Lesen Sie mehr über Downcast und Upcast

Lesen über findViewById() Methode der Activity-Klasse

Super-Schlüsselwort in Java

So registrieren Sie Aktivitäten im Manifest

  • Ein weiterer Grund könnte sein, wenn resources.updateConfiguration() wird ohne Anhängen aufgerufen super.attachBaseContext(..).

    – soshial

    19. November 2019 um 10:38 Uhr

  • Meins wurde durch falsche Intent-Typen verursacht. String senden und versucht, Int als Beispiel zu bekommen.

    – grigor

    12. Dezember 2019 um 15:57 Uhr

  • Dies ist eine gute Antwort. Sehr gut geschrieben. Ich möchte hinzufügen, können Sie auch die Ursachen für die Navigation hinzufügen. Ich füge dieses Navigationsdiagramm dem Fragment-Tag in der Aktivität hinzu. Aber ich bekomme die Ursache als android.view.InflateException: Binary XML file line #17 .... Error inflating class fragment

    – Mohit Ajwani

    12. Mai 2021 um 10:29 Uhr

1131300cookie-checkAndroid-App kann Aktivitätskomponenteninfo nicht starten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy