サンプルプログラム工場

AAKAKA Appで使われているプログラムのサンプルコードをそのまま公開!

サンプルプログラム工場 > android > ListView(アイテムの追加・選択・削除・クリア)のサンプル#tryListView00
Google Play AAKAKAxSOFTへ

ListView(アイテムの追加・選択・削除・クリア)のサンプル#tryListView00

実行ファイル(APK)やサンプル(zip)をダウンロードする
tryListView00の実行イメージtryListView00の実行イメージ

単純なリストビューのサンプル。
リストビューの中のアイテムの追加・選択・削除・クリアとか一通りできる。

package trial.sample.trylistview00;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.text.SpannableStringBuilder;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.TextView;

public class TryListView00Activity extends Activity implements OnItemClickListener, OnClickListener {
	
	// ListViewに関連付けるアダプタ
	private ArrayAdapter<String> mAdapter;
	// リストビュー
	private ListView mListView;
	// ボタン
	private Button mAddButton;		// 追加
	private Button mClearButton;	// クリア
	// 入力用ボックス
	private TextView mInputTextView;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // タイトルを非表示
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);
        
        
        ////////////////////////////////////////////////////////////
        // ListViewにAdapterを関連付ける
        //
        // リストビューに渡すアダプタを作る(android.R.layout.simple_list_item_1はSDKで定義されているもの)
        // simple_list_item_1
        // simple_list_item_2 とかいろいろあるよ
        this.mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice);
        
        for (int i = 0; i < 100; i++) {
        	// リストビューにアイテムを追加する
        	this.mAdapter.add(i + " 行目のやつ");
        }
        
        // リストビューの関連付け
        //
        this.mListView = (ListView)this.findViewById(R.id.listView1);
        // リストビューを追加する
        this.mListView.setAdapter(this.mAdapter);
        // リスナーを追加
        this.mListView.setOnItemClickListener(this);
        ////////////////////////////////////////////////////////////
        
        
        // ボタンの関連付け
        //
        // 追加ボタン
        this.mAddButton = (Button)this.findViewById(R.id.button1);
        this.mAddButton.setOnClickListener(this);
        // クリアボタン
        this.mClearButton = (Button)this.findViewById(R.id.button2);
        this.mClearButton.setOnClickListener(this);
        
        // 入力用テキストビューの関連付け
        //
        this.mInputTextView = (TextView)this.findViewById(R.id.editText1);
    }

    /** リストビューのアイテムをタップされた時の処理 */
	public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
		TextView textView = (TextView)view;
		this.showDlg("選択されているもの", (String)textView.getText());
	}

	/** ボタンがクリックされたときに呼ばれる */
	public void onClick(View v) {
		
		// ボタンに関連付けられたタグを取り出す
		String tag = (String)v.getTag();
		
		// 追加ボタンが押されている
		if (tag.equals("add_button")) {
			
			// テキストボックスから値を取り出す
			SpannableStringBuilder sb = (SpannableStringBuilder)this.mInputTextView.getText();
			String text = sb.toString();
			
			// 何も入力されていない場合は無視する
			if (text.length() <= 0)
				return ;
			
			
			////////////////////////////////////////////////////////////
			// ListViewに追加する
			this.mAdapter.insert(text, 0);	// 先頭に追加
			//this.mAdapter.add(text);	// 後ろに追加
			// ListViewに通知する
			this.mAdapter.notifyDataSetChanged();
			////////////////////////////////////////////////////////////
			
			
			// テキストボックスの内容を消す
			sb.clear();
			
		// クリアボタンが押された
		} else if (tag.equals("clear_button")) {
			
			
			////////////////////////////////////////////////////////////
			// 登録されている内容をすべて消す
			this.mAdapter.clear();
			// ListViewに通知する
			this.mAdapter.notifyDataSetChanged();
			////////////////////////////////////////////////////////////
			
			
		}
	}
	
	/** ダイアログを表示する */
	private void showDlg(String title, String text) {
		AlertDialog.Builder dlg = new AlertDialog.Builder(this);
		dlg.setTitle(title);
		dlg.setMessage(text);
		dlg.show();
	}

}
APKファイルをダウンロード サンプルプロジェクトをダウンロード

, ,

OpenGLでポリゴンにテクスチャを張るサンプル#tsGlTexture AndroidのListViewで未選択の時に省略記号を表示するサンプル@tryListView01

Comments are currently closed.