My Blog

~岩手から発信中~

【Android】XMLでウィジェットを配置した後のActivityでの処理

XMLファイルでウィジェット(ボタンなど)を配置するときはGraphical Layoutで直感的にドラッグ&ドロップできるのですが、Activityではウィジェットの処理を直接ソースコードで書いく必要があり、Activityにどのような処理を書けばいいのか忘れてしまうことがあります。

ということで、XMLファイルにウィジェットを配置した後、Activityでどのように処理していけばいいのかを備忘録として書いていきたいと思います。

ボタンの処理


ボタンを処理する方法は、匿名クラスを使用する方法とOnClickListenerを使用する方法があります。

匿名クラスを使用


//ボタンのIDを取得
Button button = (Button)findViewById(R.id.button1);

//ボタンをクリックした時の処理
button.setOnClickListener(new View.OnClickListener() {

}

OnClickListenerを使用


public class MainActivity extends Activity implements OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //ボタンのIDを取得
        Button btn  = (Button)findViewById(R.id.button1);
        //「setOnClickListener」メソッドを使って対象となるボタンがイベントを受け取れるように設定
        btn.setOnClickListener(this);
    }
}

…

public void onClick(View v) {

}

TextViewの処理


//テキストのIDを取得
TextView tv = (TextView) findViewById(R.id.textView1);
//文字列を表示する
tv.setText("Hello");
//文字列を追加する
tv.append("World");

トーストの処理


//4~5秒のメーッセージを表示
Toast.makeText(this, data, Toast.LENGTH_LONG).show();

//1~2秒のメッセージを表示
Toast.makeText(this, data, Toast.LENGTH_SHORT).show();

チェックボックスの処理


//チェックボックスのIDを取得
final CheckBox cb = (CheckBox) findViewById(R.id.checkBox1);

//チェックした時の処理
cb.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v) {
        //isChecked()でチェックされているか検証し、boolean型で値を返す
        if(cb.isChecked() == true) {
            // チェックされた時の処理を記述
        }else {
            // チェックされていない時の処理を記述
        }
    }
});

続きは次回書いていきたいと思います。