-3

Я изменил андроид ярлык на мой Manifest.xmlAndroid приложение падает на виртуальном устройстве

и это код в myactivity

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" > 

Почему это происходит?

Я использую Android 5.0 API 21

Это мой журнал кот

Дата & Time.571: D/AndroidRuntime (399): Выключение ВМ
Дата & Time.571: W/dalvikvm (399) : ThreadId = 1: поток, выходящий с неперехваченным исключением (группа = 0x40015560)
даты & Time.590: Е/AndroidRuntime (399): неустранимый: Основной
Дата & Time.590: Е/AndroidRuntime (399): Java .lang.Runt imeException: Невозможно запустить Activity ComponentInfo {com.example.abc/com.example.abc.MainActivity}: java.lang.NullPointerException
Дата & Time.590: E/AndroidRuntime (399): at android.app.ActivityThread. performLaunchActivity (ActivityThread.java:1647)
Дата & Time.590: Е/AndroidRuntime (399): в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1663)
Дата & Time.590: Е/AndroidRuntime (399): at android.app.ActivityThread.access $ 1500 (ActivityThread.java:117)
Дата & Время.590: E/AndroidRuntime (399): at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:931)
Дата & Time.590: E/AndroidRuntime (399): at android.os.Handler.dispatchMessage (Handler.java:99)
Дата & Время.590: E/AndroidRuntime (399): at android.os.Looper .loop (Looper.java:123)
Дата & Time.590: Е/AndroidRuntime (399): в android.app.ActivityThread.main (ActivityThread.java:3683)
Дата & Time.590: Е/AndroidRuntime (399): at java.lang.reflect.Method.invokeNative (собственный метод)
Дата & Время.590: E/AndroidRuntime (399): при java.lang.reflect.Method.invoke (Method.java:507)
Дата & Время.590: E/AndroidRun время (399): at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:839)
Дата & Время.590: E/AndroidRuntime (399): at com.android.internal.os. ZygoteInit.main (ZygoteInit.java:597)
Дата & Time.590: Е/AndroidRuntime (399): в dalvik.system.NativeStart.main (Родной метод)
Дата & Time.590: Е/AndroidRuntime (399): Вызванный: java.lang.NullPointerException
Дата & Time.590: Е/AndroidRuntime (399): в com.example.abc.MainActivity.onCreate (MainActivity.java:57)
Дата & Time.590: E/AndroidRuntime (399): at android.app.Instrumentati on.callActivityOnCreate (Instrumentation.java:1047)
Дата & Time.590: Е/AndroidRuntime (399): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1611)
Дата & Time.590: Е/AndroidRuntime (399): ...11 еще
Дата & Время.690: I/Процесс (399): Сигнал отправки. PID: 399 SIG: 9

Это сообщение об ошибке, которое я получаю на эмуляторе Извините! Приложение abc (process com.example.abc) неожиданно остановилось. Пожалуйста, попробуйте еще раз.

Я использую Nexus S (4.0", 480 x 800:hdpi) Target Android 2.3.3 - API Level 10 как мой Android Virutal устройства, и я был not able to change the Target to Android 5.0 - API Level 21 как кнопка OK была отключена, и сказал «Нет CPU/системы ABI изображения, выбранные».

package com.example.abc; 

import android.app.Activity; 
import android.os.Bundle; 
import android.text.InputType; 
import android.view.Gravity; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.LinearLayout; 
import android.widget.TextView; 
import android.view.Window; 
import java.io.Console; 
import java.io.IOException; 
import android.app.ActionBar; 
import java.io.*; 
import java.util.*; 
import android.view.Menu; 


    public class MainActivity extends Activity 
    { 


    LinearLayout layout1, buttonLayout; 
    EditText number1Text, number2Text; 
    Button calcButton, addButton, subButton, divideButton, multiplyButton; 
    TextView answerText, bannerText, result; 
    //ActionBar actionBar = getSupportActionBar(); 
    //actionBar.hide(); 



    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 

    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 

    layout1 = new LinearLayout(this); 
    number1Text = new EditText(this); 
    number2Text = new EditText(this); 
    addButton = new Button(this); 
    multiplyButton = new Button(this); 
    divideButton = new Button(this); 

    answerText = new TextView(this); 

    answerText.setPadding(0, 20, 0, 0); 
    answerText.setGravity(Gravity.CENTER_HORIZONTAL); 

    //layout1.setOrientation(LinearLayout.VERTICAL); 
    layout1.setGravity(Gravity.CENTER_HORIZONTAL); 

    //buttonLayout.setOrientation(LinearLayout.HORIZONTAL); 
    buttonLayout.setGravity(Gravity.CENTER_HORIZONTAL); 



    number1Text.setInputType(InputType.TYPE_CLASS_NUMBER); 
    number2Text.setInputType(InputType.TYPE_CLASS_NUMBER); 



    answerText.setWidth(150); 
    answerText.setGravity(Gravity.CENTER_HORIZONTAL); 

    answerText.setText("0"); 
    addButton.setText("+"); 

    calcButton.setText("Click to Calculate"); 

    addButton.setOnClickListener(addClicked); 

    layout1.addView(bannerText); 
    layout1.addView(number1Text); 
    layout1.addView(number2Text); 
    layout1.addView(calcButton); 
    layout1.addView(buttonLayout); 
    layout1.addView(answerText); 


    setContentView(layout1); 

    number1Text.setLayoutParams(new LinearLayout.LayoutParams(100,50)); 
    number2Text.setLayoutParams(new LinearLayout.LayoutParams(100,50)); 
    addButton.setLayoutParams(new LinearLayout.LayoutParams(50,50)); 

    } 

    private OnClickListener addClicked = new OnClickListener() 
     { 
      @Override 
      public void onClick(View v){ 
       String firstString = number1Text.getText().toString(); 
       String secondString = number2Text.getText().toString(); 
       double firstNumber = Double.parseDouble(firstString); 
       double secondNumber = Double.parseDouble(secondString); 

       double result = firstNumber + secondNumber;      

       String resultString = String.valueOf(result); 
       answerText.setText(resultString); 
     } 
    }; 



} 

Это мой последний журнал кот

Дата & Time.705: D/AndroidRuntime (333): Выключение ВМ
Дата & Time.705: W/dalvikvm (333): ThreadId = 1: поток, выходящий с неперехваченным исключением (группа = 0x40015560)
даты & Time.725: Е/AndroidRuntime (333): неустранимый: Основной
Дата & Time.725: Е/AndroidRuntime (333): java.lang. RuntimeException: невозможно запустить Activity ComponentInf o {com.example.abc/com.example.abc.MainActivity}: java.lang.NullPointerException
Дата & Время.725: E/AndroidRuntime (333): at android.app.ActivityThread.performLaunchActivity (ActivityThread.java: 1647 г.)
даты & Time.725: Е/AndroidRuntime (333): в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1663)
дате & Time.725: Е/AndroidRuntime (333): в андроиде. app.ActivityThread.access $ 1500 (ActivityThread.java:117)
Дата & Time.725: E/AndroidRuntime (333): в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:931)
Дата & Time.725: E/AndroidRuntime (333): at android.os.Handler.dispatchMessage (Handler.java:99)
Дата & Время.725: E/AndroidRuntime (333): at android.os.Looper.loop (Looper.java:123)
Дата & Time.725: Е/AndroidRuntime (333): в android.app.ActivityThread.main (ActivityThread.java:3683)
Дата & Time.725: Е/AndroidRuntime (333): в java.lang.reflect.Method.invokeNative (Родной метод)
Дата & Time.725: Е/AndroidRuntime (333): в java.lang.reflect.Method.invoke (Method.java:507)
Дата & Время.725: E/AndroidRuntime (333): at com.android.internal.os.Zyg oteInit $ MethodAndArgsCaller.run (ZygoteInit.java:839)
Дата & Time.725: E/AndroidRuntime (333): в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597)
Дата & Time.725: Е/AndroidRuntime (333): в dalvik.system.NativeStart.main (нативный метод)
Дата & Time.725: Е/AndroidRuntime (333): Вызванный: java.lang.NullPointerException
Дата & Время.725: E/AndroidRuntime (333): at com.example.abc.MainActivity.onCreate (MainActivity.java:63)
Дата & Время.725: E/AndroidRuntime (333): at android.app.Instrumentation. callActivityOnCreate (Instrumentati на.Java: 1047)
Дата & Time.725: Е/AndroidRuntime (333): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1611)
Дата & Time.725: Е/AndroidRuntime (333):. .. 11 еще

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

package com.example.calculate; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.LinearLayout; 
import android.widget.TextView; 
import android.view.View; 
import android.view.View.OnClickListener; 



public class MainActivity extends Activity 
{ 


LinearLayout layout1; 
EditText number1Text; 
EditText number2Text; 
Button calcButton; 
TextView answerText; 




    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 

     super.onCreate(savedInstanceState); 


     layout1 = new LinearLayout(this); 
     number1Text = new EditText(this); 
     number2Text = new EditText(this); 
     calcButton = new Button(this); 
     answerText = new TextView(this); 

     layout1.setOrientation(LinearLayout.VERTICAL); 

     answerText.setText("0"); 
     calcButton.setText("Press to Calculate"); 

     calcButton.setOnClickListener(addClicked); 

     layout1.addView(number1Text); 
     layout1.addView(number2Text); 
     layout1.addView(calcButton); 
     layout1.addView(answerText); 


     setContentView(layout1); 
    } 

     private OnClickListener addClicked = new OnClickListener() 
     { 
     @Override 
     public void onClick(View v){ 
      String firstString = number1Text.getText().toString(); 
      String secondString = number2Text.getText().toString(); 
      double firstNumber = Double.parseDouble(firstString); 
      double secondNumber = Double.parseDouble(secondString); 
      double result = firstNumber + secondNumber;      
      String resultString = String.valueOf(result); 
      answerText.setText(resultString); 
      } 
     }; 

    } 

Спасибо

+0

Покажите свой MainActivity. Ошибка в строке # 57 – Rahul

+0

Я работаю над форматированием сообщения, которое в ближайшее время опубликует MainActivity. – user4350548

+0

Как отмечено в коде в блокноте ++, строка № 57 имеет код, указанный ниже, который был прокомментирован сейчас, но я все еще получаю ту же ошибку. Прокомментированный код: //buttonLayout.setOrientation(LinearLayout.HORIZONTAL); – user4350548

ответ

0

Вы пытаетесь задать текст на нуль ButtonView т.е.

calcButton.setText("Click to Calculate"); 

Итак, во-первых создать объект этой кнопки, а затем установить текст по этому вопросу.

+0

Я добавил объект, как упоминалось в MainActivity, перед этим "addButton = new Button (this);" и это еще не решило проблему. calcButton = новая кнопка (это); – user4350548

+0

Просим вас помочь в решении этой проблемы. благодаря – user4350548

0

Ваш buttonLayout никогда не инициализируется. это является причиной того, что вы получаете исключения нулевого указателя

на

buttonLayout.setGravity(Gravity.CENTER_HORIZONTAL); 
Смежные вопросы