App Force关闭

时间:2013-09-08 16:01:39

标签: java android onclick forceclose

我的应用程序强制关闭onClick(goForIt)。我只是想设置一个内容View但是它会强制关闭eatch时间我按下我的按钮。还有可能只用一个活动制作应用程序吗? 有人可以告诉我为什么请:

package com.XanderApps.techquizz;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.CheckBox;

public class MainActivity extends Activity {

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

    }

     public void goForIt(View view) {
     setContentView(R.layout.question_one);

     }


    public void onCheckboxClicked(View view) {

        boolean checked = ((CheckBox) view).isChecked();

        switch(view.getId()) {
            case R.id.checkbox_meat:
                if (checked)
                    setContentView(R.layout.choice_done);






                break;
            case R.id.checkbox_cheese:
                if (checked)
                    System.exit(0);


                break;

        }
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

2 个答案:

答案 0 :(得分:1)

在没有查看Logcat的情况下,我猜您在尝试访问按钮时会收到'NullPointerException'。

在尝试使用onClick()之前,请确保使用findViewById语法“实例化”按钮对象。

答案 1 :(得分:1)

由于您尚未在onCreateView()的{​​{1}}内实例化 goForIt 。因此它抛出 NPE(空指针异常)

Activity布局文件中获取 goForIt id

添加

XML

然后在 goForIt 上添加public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); goForit=(Button)findViewById(R.id.goForItId); }