我的应用程序将无法启动? [英] My Application won't start up?

查看:96
本文介绍了我的应用程序将无法启动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的不知道为什么我的应用程序将无法启动,我没有得到任何错误,我不知道这是怎么回事?我是pretty的新Android和这仅仅是一个简单的计算器,但它总是崩溃每次我启动它。

***************主要Activity.java **********************

 包com.example.alex.myapplication;


         进口android.support.v7.app.ActionBarActivity;
         进口android.os.Bundle;
         进口android.view.Menu;
         进口android.view.MenuItem;



公共类MainActivity扩展ActionBarActivity {

@覆盖
保护无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_main);

     新的东西(这一点);

}





@覆盖
公共布尔onCreateOptionsMenu(功能菜单){
    //充气菜单;这增加了项目操作栏,如果它是present。
    。getMenuInflater()膨胀(R.menu.menu_main,菜单);
    返回true;
}

@覆盖
公共布尔onOptionsItemSelected(菜单项项){
    //处理动作栏项目点击这里。将操作栏
    //自动在主/向上按钮操作的点击,只要
    //你在AndroidManifest.xml中指定一个父活动。
    INT的id = item.getItemId();

    // noinspection SimplifiableIfStatement
    如果(ID == R.id.action_settings){
        返回true;
    }

    返回super.onOptionsItemSelected(项目);
     }
    }
 

******************* Something.java ******************

 包com.example.alex.myapplication;


   进口android.app.Activity;
   进口android.view.View;
   进口android.widget.EditText;
   进口android.widget.Button;




   公共类的东西延伸活动{


  私人按键加,减,乘,devide;
  私人的EditText鲷,editB,editC;
  私人双人doubleA,doubleB,doubleC;

        公众的东西(活性){

           点击();


      }


       公共无效点击(){
           鲷=(EditText上)findViewById(R.id.editText);
           editB =(EditText上)findViewById(R.id.editText2);
           editC =(EditText上)findViewById(R.id.editText3);
          doubleA = Double.parseDouble(editA.getText()的toString());
          doubleB = Double.parseDouble(editB.getText()的toString());


              添加=(按钮)findViewById(R.id.add);
              减=(按钮)findViewById(R.id.subtract);
              乘=(按钮)findViewById(R.id.multiply);
              devide =(按钮)findViewById(R.id.devide);

               add.setOnClickListener(新View.OnClickListener(){
                   @覆盖
                   公共无效的onClick(视图v){

                     doubleC = doubleA + doubleB;
                     字符串s =+ doubleC;
                      editC.setText(多个);


                   }
               });

               subtract.setOnClickListener(新View.OnClickListener(){
               @覆盖
               公共无效的onClick(视图v){

                   doubleC = doubleA-doubleB;
                   字符串s =+ doubleC;
                   editC.setText(多个);


               }
           });

               multiply.setOnClickListener(新View.OnClickListener(){
               @覆盖
               公共无效的onClick(视图v){

                   doubleC = doubleA * doubleB;
                   字符串s =+ doubleC;
                   editC.setText(多个);


               }
           });



           devide.setOnClickListener(新View.OnClickListener(){
               @覆盖
               公共无效的onClick(视图v){

                   doubleC = doubleA / doubleB;
                   字符串s =+ doubleC;
                   editC.setText(多个);


               }
           });



       }



   }
 

****************** activity_main.xml ****************

 < RelativeLayout的的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
的xmlns:工具=htt​​p://schemas.android.com/tool​​s机器人:layout_width =match_parent
机器人:layout_height =match_parent机器人:以下属性来=@扪/ activity_horizo​​ntal_margin
机器人:paddingRight =@扪/ activity_horizo​​ntal_margin
机器人:paddingTop =@扪/ activity_vertical_margin
机器人:paddingBottom会=@扪/ activity_vertical_margin工具:上下文=。MainActivity
      >


<的TextView
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:文本=@字符串/ IDK的
    机器人:TEXTSIZE =17sp
    机器人:ID =@ + ID / TextView的
    机器人:layout_alignParentTop =真
    机器人:layout_centerHorizo​​ntal =真/>

<的EditText
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:inputType =numberDecimal
    机器人:EMS =5
    机器人:ID =@ + ID / EDITTEXT
    机器人:提示=第一号
    机器人:layout_centerVertical =真
    机器人:layout_alignLeft =@ + ID / TextView的
    机器人:layout_alignStart =@ + ID / TextView的/>

<的EditText
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:inputType =numberDecimal
    机器人:EMS =5
    机器人:ID =@ + ID / editText2
    机器人:提示=第二号
    机器人:layout_centerVertical =真
    机器人:layout_alignRight =@ + ID / TextView的
    机器人:layout_alignEnd =@ + ID / TextView的/>

<按钮
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:文本=添加
    机器人:ID =@ + ID /加
    机器人:layout_alignParentBottom =真
    机器人:layout_alignLeft =@ + ID / EDITTEXT
    机器人:layout_alignStart =@ + ID / EDITTEXT
    机器人:layout_marginBottom =166dp/>

<按钮
    机器人:layout_width =100dp
    机器人:layout_height =50dp
    机器人:文本=减
    机器人:ID =@ + ID /减
    机器人:layout_alignTop =@ + ID /正片叠底
    机器人:layout_alignLeft =@ + ID /加
    机器人:layout_alignStart =@ + ID /添加/>

<按钮
    机器人:layout_width =100dp
    机器人:layout_height =50dp
    机器人:文本=正片叠底
    机器人:ID =@ + ID /乘
    机器人:layout_marginTop =58dp
    机器人:layout_below =@ + ID / devide
    机器人:layout_alignRight =@ + ID / devide
    机器人:layout_alignEnd =@ + ID / devide/>

<按钮
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:文本=Devide
    机器人:ID =@ + ID / devide
    机器人:layout_below =@ + ID / EDITTEXT
    机器人:layout_alignLeft =@ + ID / editText2
    机器人:layout_alignStart =@ + ID / editText2/>

<的EditText
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:EMS =20
    机器人:ID =@ + ID / editText3
    机器人:layout_below =@ + ID / TextView的
    机器人:提示=结果
    机器人:layout_centerHorizo​​ntal =真
    机器人:layout_marginTop =62dp/>


           < / RelativeLayout的>
 

解决方案

您已经创建了一个构造函数东西其实

 公共的东西(活性){

       点击();

}
 

而不是使用的onCreate()可能是错误的来源。

的东西活动衍生,在其中的有无的重写的onCreate()最起码,并设置查看活动在里面。你还没有这样做,而是你创造了一个构造的东西这也是不允许的。

该问题的解决方案是,以取代与的onCreate()构造,并设置查看中的活动使用的setContentView()。此外,您不能创建一个活动对象使用

 新的东西(这一点);
 

I'm not really sure why my application won't start up, I get no errors and I have no idea what's going on? I'm pretty new to android and this is just a basic calculator, but it keeps crashing every time I start it up.

***************Main Activity.java**********************

package com.example.alex.myapplication;


         import android.support.v7.app.ActionBarActivity;
         import android.os.Bundle;
         import android.view.Menu;
         import android.view.MenuItem;



public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

     new Something(this);

}





@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);
     }
    }

*******************Something.java******************

package com.example.alex.myapplication;


   import android.app.Activity;
   import android.view.View;
   import android.widget.EditText;
   import android.widget.Button;




   public class Something extends Activity {


  private Button add,subtract,multiply,devide;
  private EditText editA, editB, editC;
  private double doubleA,doubleB,doubleC;

        public Something(Activity a) {

           click();


      }


       public void click(){
           editA = (EditText) findViewById(R.id.editText);
           editB = (EditText) findViewById(R.id.editText2);
           editC = (EditText) findViewById(R.id.editText3);
          doubleA =Double.parseDouble(editA.getText().toString());
          doubleB =Double.parseDouble(editB.getText().toString());


              add = (Button) findViewById(R.id.add);
              subtract = (Button) findViewById(R.id.subtract);
              multiply = (Button) findViewById(R.id.multiply);
              devide = (Button) findViewById(R.id.devide);

               add.setOnClickListener(new View.OnClickListener() {
                   @Override
                   public void onClick(View v) {

                     doubleC = doubleA+doubleB;
                     String s = "" + doubleC;
                      editC.setText(s);


                   }
               });

               subtract.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {

                   doubleC = doubleA-doubleB;
                   String s = "" + doubleC;
                   editC.setText(s);


               }
           });

               multiply.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {

                   doubleC = doubleA*doubleB;
                   String s = "" + doubleC;
                   editC.setText(s);


               }
           });



           devide.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {

                   doubleC = doubleA/doubleB;
                   String s = "" + doubleC;
                   editC.setText(s);


               }
           });



       }



   }

******************activity_main.xml****************

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
      >


<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/idk"
    android:textSize="17sp"
    android:id="@+id/textView"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal"
    android:ems="5"
    android:id="@+id/editText"
    android:hint="First number"
    android:layout_centerVertical="true"
    android:layout_alignLeft="@+id/textView"
    android:layout_alignStart="@+id/textView" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="numberDecimal"
    android:ems="5"
    android:id="@+id/editText2"
    android:hint="Second number"
    android:layout_centerVertical="true"
    android:layout_alignRight="@+id/textView"
    android:layout_alignEnd="@+id/textView" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Add"
    android:id="@+id/add"
    android:layout_alignParentBottom="true"
    android:layout_alignLeft="@+id/editText"
    android:layout_alignStart="@+id/editText"
    android:layout_marginBottom="166dp" />

<Button
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:text="Subtract"
    android:id="@+id/subtract"
    android:layout_alignTop="@+id/multiply"
    android:layout_alignLeft="@+id/add"
    android:layout_alignStart="@+id/add" />

<Button
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:text="Multiply"
    android:id="@+id/multiply"
    android:layout_marginTop="58dp"
    android:layout_below="@+id/devide"
    android:layout_alignRight="@+id/devide"
    android:layout_alignEnd="@+id/devide" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Devide"
    android:id="@+id/devide"
    android:layout_below="@+id/editText"
    android:layout_alignLeft="@+id/editText2"
    android:layout_alignStart="@+id/editText2" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="20"
    android:id="@+id/editText3"
    android:layout_below="@+id/textView"
    android:hint="Results"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="62dp" />


           </RelativeLayout>

解决方案

The fact that you have created a constructor for the Something class

public Something(Activity a) {

       click();

}

instead of using onCreate() is probably the source of the error.

Something is derived from Activity, in which you have to override onCreate() at the very least, and set the View of your Activity in it. You haven't done that, and instead you have created a constructor for Something which is also not allowed.

The solution to your problem is to replace the constructor with onCreate() and set the View of that Activity using setContentView(). Also, you cannot create an Activity object using

new Something(this);

这篇关于我的应用程序将无法启动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆