/** * リスト初期化 * * @return List<ListItem> */ private List<ListItem> initList() { List<ListItem> items = new ArrayList<ListItem>(); for (int i = 0; i < 11; i++) { items.add(new ListItem()); if (i == 0) { ListItem header = new ListItem(); header.setRank("順位"); header.setCount("手数"); header.setStage("ステージ"); header.setDate("プレイ時刻"); items.set(0, header); } else { ListItem item = new ListItem(); item.setRank(String.valueOf(i)); item.setCount(""); item.setStage(""); item.setDate(""); items.set(i, item); } } return items; }
/** コンストラクタ */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 画面の初期化 requestWindowFeature(Window.FEATURE_NO_TITLE); // アプリ名非表示 getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); // 画面レイアウト setContentView(R.layout.ranking); list = (ListView) this.findViewById(R.id.list); // ボタンイベント定義 ImageButton button = (ImageButton) findViewById(R.id.backButton1); button.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // ボタンがクリックされた時に呼び出されます finish(); } }); // DB接続 sqliteHelper = new SQLite(getApplicationContext()); puzzleDB = sqliteHelper.getWritableDatabase(); Cursor cursor = puzzleDB.query( "result", new String[] {"move_count", "stage", "update_time"}, null, null, null, null, "move_count", "10"); // リスト表示 List<ListItem> items = initList(); if (cursor.moveToFirst()) { for (int row = 1; row <= cursor.getCount(); row++) { ListItem item = items.get(row); item.setCount(String.valueOf(cursor.getInt(0))); item.setStage(String.valueOf(cursor.getInt(1))); item.setDate(cursor.getString(2)); items.set(row, item); cursor.moveToNext(); } } ListAdapter adapter = new ListAdapter(getApplicationContext(), items); list.setAdapter(adapter); cursor.close(); }