1
package com.example.sudoku;



import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import android.view.View.OnClickListener;

public class Sudoku extends Activity implements OnClickListener{
    @Override 
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Set up click listeners for all the buttons
        View continueButton=findViewById(R.id.continue_button);
        continueButton.setOnClickListener(this);
        View newButton=findViewById(R.id.new_button);
        newButton.setOnClickListener(this); 
        View aboutButton=findViewById(R.id.about_button);
        aboutButton.setOnClickListener(Sudoku.this);
        View exitButton=findViewById(R.id.exit_button);
        exitButton.setOnClickListener(Sudoku.this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
        case R.id.about_button:
            Intent i=new Intent(Sudoku.this, About.class);
            startActivity(i);
            break;
        case R.id.exit_button:
            finish();
            break;
        }

    }

} 

ビューボタンをクリックしても何も起こらない私はビューボタンがオンクリックメソッドにまったく接続されていないことを知っています.xmlファイルにオンクリックメソッドを定義すると正常に動作するため、Androidプログラミングは初めてです.

4

5 に答える 5

1

このように onClick() メソッドを変更します

@Override
public void onClick(View v) {
    switch (v.getId()){
    case R.id.about_button:
        Intent i=new Intent(Sudoku.this, About.class);
        startActivity(i);
        break;
    case R.id.exit_button:
        finish();
        break;
    case R.id.new_button:
        newButtonClicked(); // do your work here
        break;
    case R.id.continue_button:
        continueButtonClicked(); // do work
        break;
    }
}
于 2013-11-08T12:50:14.703 に答える
0

残りのボタンの場合も書きます。

    @Override
    public void onClick(View v) {
    switch (v.getId()){
      case R.id.about_button:
        Intent i=new Intent(Sudoku.this, About.class);
        startActivity(i);
        break;
      case R.id.exit_button:
        finish();
        break;
      case R.id.continueButton:
       //your function
        break;
      case R.id.newButton:
       //your function
        break;
      }

    }
于 2013-11-08T12:51:18.240 に答える
0

xml に onClick 属性を追加して渡す方が簡単な場合があります。クリックを処理する xml 要素に、次の行を追加します。

android:onClick = "AddViewX"

次に、アクティビティ クラスで次のようなメソッドを作成します。

public void AddViewX(View v){
    //Write Your Code Here
    Intent i=new Intent(this, NextClass.class);
    startActivity(i);
}

この方法では、OnClickListeners をセットアップする必要がありません。これは、非常に混乱し、非常に高速になる可能性があります。

于 2013-11-08T13:19:18.270 に答える