当我在模拟器上打开它时,Android app force很快关闭

时间:2012-08-26 16:01:49

标签: android

我在旧帖子上遇到了类似的问题。纠正了它们。仍然有力量关闭问题。请帮忙。

以下哪项是正确的?

Button continueButton = (Button) findViewById(R.id.continue_button);

View continueButton = findViewById(R.id.continue_button);

它们之间有什么区别?


package org.example.sudoku;

import android.os.Bundle;


import android.view.View.OnClickListener;
import android.app.Activity;
import android.view.Menu;
import android.widget.Button;

public class Sudoku extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);    
        setContentView(R.layout.main);

       Button continueButton = (Button) findViewById(R.id.continue_button);
       continueButton.setOnClickListener((OnClickListener) this);

       Button aboutButton = (Button)findViewById(R.id.about_button);
       aboutButton.setOnClickListener((OnClickListener) this);

       Button newButton = (Button)findViewById(R.id.new_game_button);
       newButton.setOnClickListener((OnClickListener) this);

       Button exitButton = (Button)findViewById(R.id.exit_button);
       exitButton.setOnClickListener((OnClickListener) this);


    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

2 个答案:

答案 0 :(得分:0)

两者都是正确的,因为ButtonView的子类。但是你通常必须使用Button,这样你就可以添加监听器和其他内容。

您应该看一下应用程序的logcat输出。在那里你会发现一个可以帮助你识别问题的堆栈跟踪。

答案 1 :(得分:0)

我认为问题来自于您在按钮上设置点击侦听器的方式。您使用此但您的活动类不实现该接口。我建议你这样做:

 View.OnClickListener clickHandler = new View.OnClickListener() {
    public void onClick(View v) {

    }
  }

  Button continueButton = (Button) findViewById(R.id.continue_button);
  continueButton.setOnClickListener(clickHandler);+-