テクパー2020
テクニカルヘルパー


 アンドロイドアプリ開発 

◆ 単項目のリストの配置
・ 単項目で構成するリストで12件をレイアウトリスナーに配置します
・ イベントリスナーを組み込んで、リストの操作を取得します

【 実行 】


【 クリック 】


【 セレクト 】


1.新規プロジェクトで 「 ToolsListSimple 」 を新規に作成します

1)ファイル(F) → 新規(N) → プロジェクト(P)

2)Android の Android プロジェクト を選択し、[次へ(N)]ボタン をクリック
・プロジェクト名に 「 ToolsListSimple 」 を入力
・ビルド・ターゲットの □ Android 2.2 を チェック (最新のバージョン)
・アプリケーション名に 「 ToolsListSimple 」 を入力
・パッケージ名に 「 任意のドメイン名 」 を入力 (ドメイン名をパッケージ名に利用)
・□ Create Activityがチェック状態で、名称に 「 ToolsListSimple 」 を入力
・[完了]ボタン をクリック

(プロジェクトの構成)




2.「 ToolsListSimple 」 を書き換え
package com.proto.toolslistsimple;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
//import android.view.Window;

public class ToolsListSimple extends Activity {

	private final static int MatchParent=LayoutParams.MATCH_PARENT;
	private final static int WrapContent=LayoutParams.WRAP_CONTENT;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // setContentView(R.layout.main);	書き換え
        
        // ウィンドウタイトルの非表示
        // requestWindowFeature(Window.FEATURE_NO_TITLE);
        
        // レイアウトの生成
        LinearLayout layout=new LinearLayout(this);
        // layout.setPadding(10,10,10,10);
        layout.setBackgroundColor(Color.LTGRAY);       // 背景色の指定
        layout.setOrientation(LinearLayout.VERTICAL);  // HORIZONTAL, VERTICAL 
        setContentView(layout);
        
        // テキストの生成
        TextView txtView;
        txtView = new TextView(this);
        txtView.setTextColor(Color.MAGENTA);
        txtView.setTextSize(16f);
        txtView.setText("リスト表示のチェック");
        layout.addView(txtView,
                       new LinearLayout.LayoutParams(WrapContent,WrapContent));

        // アレーアダプターの生成(リスト項目)
        ArrayAdapter arrayAdapter
            = new ArrayAdapter(this,android.R.layout.simple_list_item_1);
        for (int i=0;i<12;i++) {
        	String text=(i+1)+". リスト項目";
       	    arrayAdapter.add(text);
        }

        // リストビューの設定
        ListView listView=new ListView(this);
        listView=new ListView(this);
        listView.setScrollingCacheEnabled(false);
        listView.setAdapter(arrayAdapter);
        //setContentView(listView);
        layout.addView(listView,
               new LinearLayout.LayoutParams(MatchParent,WrapContent));

        // リストビューのアイテムをクリックで呼び出されるコールバックリスナー
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView parent,
                                    View view,int position, long id) {
                ListView listView = (ListView) parent;
                // クリックされたアイテムの取得
                String item
                 = (String) listView.getItemAtPosition(position)+"  (クリック)";
                Toast.makeText(ToolsListSimple.this, item,
                               Toast.LENGTH_LONG).show();
            }
        });

        // リストのアイテムを選択で呼び出されるコールバックリスナー
        listView.setOnItemSelectedListener(
                                  new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView parent,
                                        View view,int position, long id) {
                ListView listView = (ListView) parent;
                // 選択されたアイテムの取得
                String item
                 = (String) listView.getSelectedItem()+"  (セレクト)";
                Toast.makeText(ToolsListSimple.this, item,
                               Toast.LENGTH_LONG).show();
            }
            @Override
            public void onNothingSelected(AdapterView parent) {
            }
        });

    }

}


・機能の説明
android.widget.LinearLayout の LinearLayoutクラスの生成

public LinearLayout (Context context) 

// レイアウトの向きの指定(HORIZONTAL :水平{デフォルト}, VERTICAL:垂直)
public void setOrientation (int orientation) 
android.view.View の Viewクラスで指定

// パディング(隙間の挿入値)
public void setPadding (int left, int top, int right, int bottom) 

// 背景色の指定(カラーコード)
public void setBackgroundColor (int color) 
android.app.Activity の Activityクラスで指定

// ビューに配置(リソースID)
public void setContentView (int layoutResID) 

// ビューに配置(ビュー)
public void setContentView (View view) 
android.widget.ArrayAdapter のArrayAdapterクラスの生成、指定

public ArrayAdapter (Context context, int textViewResourceId)

// アレーアダプターに追加(オブジェクト)
public void add (T object)
android.widget.AbsListView の AbsListViewクラスの指定

// スクロールキャッシュ(メモリに保持)の許可(FALSE:使用しない)
public void setScrollingCacheEnabled (boolean enabled) 
android.widget.ListView の ListViewクラスの指定

// リストビューに追加 (リスト項目)
public void setAdapter (ListAdapter adapter)
android.view.ViewGroup の ViewGroupクラスの生成、指定

// ビューに追加 (追加ビュー, レイアウトパラメータ)
public void addView (View child, ViewGroup.LayoutParams params) 
android.widget.AdapterView.OnItemClickListener の インターフェースで指定

// アイテムのクリックで発生
public abstract void onItemClick (AdapterView parent,
                                  View view, int position, long id) 
android.widget.AdapterView.OnItemSelectedListener の インターフェースで指定

// アイテムの選択で発生
public abstract void onItemSelected (AdapterView parent,
                                     View view, int position, long id) 
android.widget.AdapterView の AdapterViewクラスで指定

// リストのアイテム位置を取得
public Object getItemAtPosition (int position) 

// リストの選択アイテムを取得
public Object getSelectedItem () 
android.widget.Toast の Toastクラスで指定

// トースト(瞬間表示)の作成(コンテキスト, 表示テキスト, 文字長指定)
public static Toast makeText (Context context, CharSequence text, int duration) 
文字長指定(LENGTH_SHORT or LENGTH_LONG)


3.プロジェクトの実行(実行構成の作成は、「プロジェクトの新規作成」を参照)
※ 実行(R) で リスト が起動します 実行のイメージはここから!

Copyright (C) 2010 プログラミングのテクニックをあなたに!!(リトル・ヘルパー) All Rights Reserved.