ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
Android Studio : ListView
日時: 2017/09/12 17:21
名前: lightbox



単純リストビュー

拡張子:
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);
	}

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

画面 ( No.1 )
日時: 2017/09/12 17:07
名前: lightbox


日時: 2017/09/12 17:07
名前: lightbox
拡張子:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:app="http://schemas.android.com/apk/res-auto"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              tools:context=".MainActivity">

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>
このアーティクルの参照用URLをクリップボードにコピー メンテナンス