Android中的回拨按钮无法正常工作

时间:2011-09-06 09:31:46

标签: android button callback

我对Android很陌生,我正在尝试用一个按钮和一个新的Intent回调(基本上是一个新窗口)编写一些非常简单的应用程序。

这是代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //Onclick "Start Game" button
    start = (Button) findViewById(R.id.startGame);
    tv =  (TextView) findViewById(R.id.textView1);
    start.setOnClickListener(new Button.OnClickListener(){
        @Override
        public void onClick(View v) {
            tv.setText("clicked");
            Intent i = new Intent(MainActivity.this, Level1Activity.class);
            startActivity(i);
        }
    });
[...]

正如您所看到的,我有一个按钮(startGame)和一个textView(textView1)。我的问题很简单,当我点击startGame按钮时,没有任何反应(TextView不会改为“点击”,也不会改变屏幕)。按钮以及TextView都是正确设置的,因为Eclipse没有抱怨,但仍然无法正常工作。

以下是视图的XML片段:

<Button android:id="@+id/startGame" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Start Game"></Button>
<TextView android:text="change" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>

我相信我的问题真的很愚蠢,而我却看不到它。

由于

编辑:

我发现问题与视图中有多个按钮这一事实有关,因此不止一个回调(当然是在不同的按钮上)。只要我评论了其他回调,startGame按钮就会按预期开始工作。

3 个答案:

答案 0 :(得分:1)

您必须在清单文件中添加一个标记,然后才能正常工作。标签是 - &gt;

  1. 活动android:name =“Level1Activity”
  2. 请记住在清单文件的应用程序标记中添加此标记,其余代码也可以。试试它肯定会起作用。

答案 1 :(得分:0)

试试这个并告诉将会发生什么。

   start.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
            tv.setText("clicked");
            Intent i = new Intent(MainActivity.this, Level1Activity.class);
            startActivity(i);
        }
    });

答案 2 :(得分:0)

你确定你的清单是正确的吗? 否则这肯定会起作用......

start.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent i = new Intent(view.getContext(), Level1Activity.class);
                startActivityForResult(i, 0);
            }
        });