ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: Android Studio : ListView
名前: lightbox
処理選択
パスワード

件名 Android Studio : ListView
名前 lightbox
コメント
[[単純リストビュー]]

@DIV
package com.example.lightbox.listviewtest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends AppCompatActivity {

	private String[] data = new String[] {
		"Yahoo! ニュース",
		"Yahoo! 雨雲ズームレーダー",
		"ねとらぼ",
		"Stack Overflow",
		"Android Developers"
	};

	private String [] urlData = new String[] {
		"https://news.yahoo.co.jp/",
		"https://weather.yahoo.co.jp/weather/zoomradar/",
		"http://nlab.itmedia.co.jp/",
		"http://stackoverflow.com/",
		"https://developer.android.com/"
	};

	private ArrayAdapter<String> arrayAdapter;
	private ListView listView;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// リストビュー
		listView = (ListView) MainActivity.this.findViewById(R.id.listView);
		listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

				// アダプターを取得
				ArrayAdapter<String> adapter  = (ArrayAdapter<String>) adapterView.getAdapter();
				// 行データを取得
				String row = (String)adapter.getItem(i);

				Log.i("lightbox",row);

			}
		});
		// データが入るオブジェクト
		arrayAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1);
		// リストビューにデータが入るオブジェクトをセット
		listView.setAdapter(arrayAdapter);

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.menu_main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		int id = item.getItemId();

		if (id == R.id.action_1) {
			// データをクリア
			arrayAdapter.clear();
			// 表示するデータをセット
			arrayAdapter.addAll(data);
			return true;
		}

		return super.onOptionsItemSelected(item);
	}

}
@END

@SHOW
メニューから、リストビューに配列をセットして表示する
データ数が少ないので、まだスクロールしない
クリックした時にブラウザで表示する為の URL の配列も用意
ArrayAdapter のコンストラクタは、ArrayAdapter(Context context, int resource) を使用しているので、後からデータを addAll で追加しています
@END