我的程序不会执行? [英] My programs won't execute?

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

问题描述

MainActivity.java



MainActivity.java

package com.example.alex.something;

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

        new Something();

    }


    @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






Something.java

import android.view.View;
import android.widget.*;




public class Something extends MainActivity {

    private Button b;


    public Something(){

        setContentView(R.layout.activity_main);

        b = (Button) findViewById(R.id.button);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                b.setText("Something else");
            }
        });

    }

}





Log Cat





Log Cat

  --------- beginning of crash
04-04 13:17:42.026    1902-1902/com.example.alex.something E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.alex.something, PID: 1902
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.alex.something/com.example.alex.something.MainActivity}: java.lang.IllegalStateException: System services not available to Activities before onCreate()
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: java.lang.IllegalStateException: System services not available to Activities before onCreate()
            at android.app.Activity.getSystemService(Activity.java:4993)
            at android.view.LayoutInflater.from(LayoutInflater.java:219)
            at android.support.v7.app.ActionBarActivityDelegateBase.ensureSubDecor(ActionBarActivityDelegateBase.java:309)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:237)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at com.example.alex.something.Something.<init>(Something.java:18)
            at com.example.alex.something.MainActivity.onCreate(MainActivity.java:16)
            at android.app.Activity.performCreate(Activity.java:5937)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)





我真的不确定它在android中是如何工作的,但不是onCreate方法就像Java中的
Main方法一样,如果是这样,为什么它不起作用?我有它的GUI和听众在另一个类中,我在Main类中所做的就是调用它们并且Activity将执行。我只想要一个活动,然后是一大堆类的东西,例如让一个类处理GUI而另一个处理监听器,看起来如果我能做到它就不会发生只用一个主类,然后在另一个类中完成所有操作。再次,这将在普通的Java中工作,但我不确定为什么它不在这里工作? 我的意思是你的GUI和Listener类在你的main方法中执行以汇聚到一个单独的程序无论如何,任何人都知道为什么这不起作用?



I'm not really sure how it works in android, but isn't the "onCreate" method like the
"Main" method in Java, if so why ins't it working? I'm having it the "GUI" and "Listeners" are in another class and all I have to do in my "Main" class is call them and the "Activity" will execute. I just want One "Activity" and then a whole bunch of classes doing stuff, for instance having one class handle the GUI and the other handle the listeners which seems like it's not going to happen if I can't do this with just one main class and then everything in another class. Again, this would of worked in plain Java, but I'm not really sure why it isn't working here? By that I mean have your GUI and Listener classes execute in your main method to converge into one single program Anyways, anyone has any idea why this won't work?

推荐答案

800(ActivityThread.java:144)
在android.app.ActivityThread
800(ActivityThread.java:144) at android.app.ActivityThread


H.handleMessage(ActivityThread.java:1278)
在android.os.Handler.dispatchMessage(Handler.java:102)
在android.os.Looper.loop(Looper.java:135)
在android.app.ActivityThread.main(ActivityThread。 java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com。 android.internal.os.ZygoteInit
H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit


MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694 )
引起:java.lang.IllegalStateException:System onCreate()之前的活动不可用的服务android.app.Activity.getSystemService上的活动
(Activity.java:4993)
at android.view.LayoutInflater.from(LayoutInflater.java:219)
在android.support.v7.app.ActionBarActivityDelegateBase.ensureSubDecor(ActionBarActivityDelegateBase.java:309)
在android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:237)
在android。 support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
at com.example.alex.something.Something。< init>(Something.java:18)
at com.example .alex.something.MainActivity.onCreate(MainActivity.java:16)
在android.app.Activity.performCreate(Activity.java:5937)
在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java) :1105)
在android.app.ActivityThread.performLaunchActivity(ActivityT hread.java:2251)
             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
             at android.app.ActivityThread.access
MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Caused by: java.lang.IllegalStateException: System services not available to Activities before onCreate() at android.app.Activity.getSystemService(Activity.java:4993) at android.view.LayoutInflater.from(LayoutInflater.java:219) at android.support.v7.app.ActionBarActivityDelegateBase.ensureSubDecor(ActionBarActivityDelegateBase.java:309) at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:237) at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102) at com.example.alex.something.Something.<init>(Something.java:18) at com.example.alex.something.MainActivity.onCreate(MainActivity.java:16) at android.app.Activity.performCreate(Activity.java:5937) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)             at android.app.ActivityThread.access


这篇关于我的程序不会执行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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