ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
Android Studio : ListView
日時: 2017/05/16 20:47
名前: 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);
        // データが入るオブジェクト
        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 で追加しています
メンテナンス


日時: 2017/05/16 20:47
名前: lightbox