libro
www.tuyano.com
Google androidプログラミング入門

リストとダイアログ (6/8)

作成:2009-12-28 10:56
更新:2010-05-11 13:34

■イベント処理を追加しよう

とりあえず、これで項目の表示はできましたが、リストを選択したときの処理などもやっぱり用意したいですね。そこで、「クリックした項目名を表示する」といった簡単なイベント処理を追加してみましょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

package jp.tuyano;


import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;


public class SampleApp extends Activity {
    private Activity me;
    private ListView list;
    
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        me = this;
        
        String[] arr = {"東京都","神奈川県","千葉県","埼玉県","茨城県","栃木県","群馬県"};
        
        // コンポーネントの設定
        list = (ListView)this.findViewById(R.id.list);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list, arr);
        list.setAdapter(adapter);
        list.setSelection(1);
        
        // イベント組み込み
        list.setOnItemClickListener(new MyClickAdapter());
    }
    
    // イベントクラス
    class MyClickAdapter implements OnItemClickListener {
        
        @Override
        public void onItemClick(AdapterView<?> adapter,
                View view, int position, long id) {
            AlertDialog.Builder bldr = new AlertDialog.Builder(me);
            bldr.setTitle("ALERT");
            TextView txt = (TextView)view;
            bldr.setMessage("選択項目:" + txt.getText());
            
            DialogInterface.OnClickListener listner = new DialogInterface.OnClickListener(){


                @Override
                public void onClick(DialogInterface dialog, int which) {
                    setResult(RESULT_OK);
                }
            };
            
            bldr.setPositiveButton("OK",listner);
            bldr.create();
            bldr.show();
        }
    }
}

※関連コンテンツ

「Google androidプログラミング入門」に戻る