it-swarm.com.ru

Android приложение не может запустить действие componentinfo

Я новый Android программист, и в последнее время во многих моих проектах появляется эта ошибка:

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

Может кто-нибудь помочь мне решить эту проблему?

Вот полная трассировка стека logcat:

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: [email protected]
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

Вот первая активность: начало.Ява

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;

            }


        }


}

Второе занятие: 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(); 

        }
    });
}
}

Наконец, мой файл манифеста: 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>

Любая помощь очень ценится, без решения этой проблемы я не могу проверить свое приложение!

46
Slicekick

Ваше исключение нулевого указателя, кажется, находится в этой строке:

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

потому что intent.getExtras() возвращает ноль, если у намерения нет никаких дополнений.

Вы должны понимать, что этот кусок кода:

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

не запускает действие, которое вы написали в Main.Java, оно попытается запустить действие с именем ToClass, и, если оно не существует, ваше приложение вылетает.

Кроме того, нет такой вещи, как "Android.intent.action.start", поэтому манифест должен выглядеть примерно так:

<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>

Я надеюсь, что это исправит некоторые проблемы, с которыми вы сталкиваетесь, но я настоятельно рекомендую вам ознакомиться с некоторыми учебными пособиями по началу работы с Android-разработкой и собрать их оттуда.

27
Mircea Nistor

На вопрос уже дан ответ, но я хочу добавить больше информации о причинах.

Android-приложение не может запустить активность componentinfo

Эта ошибка часто сопровождается соответствующими журналами. Вы можете читать логи и легко решить эту проблему.

Вот пример журнала. В котором вы можете ясно видеть ClassCastException. Таким образом, эта проблема возникла из-за того, что TextView нельзя привести к EditText.

Вызывается: Java.lang.ClassCastException: Android.widget.TextView не может быть приведен к Android.widget.EditText

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

Некоторые распространенные ошибки.

1 .findViewById() несуществующего представления

Например, когда вы используете findViewById(R.id.button), когда идентификатор кнопки не существует в макете XML.

2. Неправильный актерский состав.

Если вы неверно разыгрываете какой-то класс, вы получите эту ошибку. Как вы приводите RelativeLayout к LinearLayout или EditText к TextView

3. Активность не зарегистрирована в manifest.xml

Если вы не зарегистрировали Activity в manifest.xml, то возникает эта ошибка.

4. findViewById() с объявлением на верхнем уровне

Ниже код неверен. Это создаст ошибку. Потому что вы должны делать findViewById() после вызова setContentView(). Потому что представление может быть там после его создания.

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. Запуск abstract Класс деятельности.

Когда вы попытаетесь запустить Activity, которая является абстрактной, вы получите эту ошибку. Так что просто removeabstractkeyword перед именем класса активности.

6. Использование kotlin, но kotlin не настроен.

Если ваша деятельность написана на Kotlin, и вы не настроили kotlin в своем приложении. тогда вы получите ошибку. Вы можете следовать простым шагам, как написано в Android Link или Kotlin Link . Вы можете проверить этот ответ тоже.

Дополнительная информация

Читайте о Downcast и Upcast

Читать о методе findViewById() класса Activity

Супер ключевое слово в Java

Как зарегистрировать активность в манифесте

1
Khemraj