package jp.gihyo.mitoma.android.p014gdpmanagement;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ArrayList<CountryDTO> countryList;
    ArrayAdapter<CountryDTO> adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView listView = findViewById(R.id.lvCountry);
        // GDPリストの取得と表示
        CountryDAO dao = CountryDAO.getInstance();
        this.countryList = dao.select();
        this.adapter = new ArrayAdapter<>(
                this,R.layout.custom_list_item,countryList);
        listView.setAdapter(adapter);
        // クリックリスナーのセット
        listView.setOnItemClickListener(new OnItemClick());
    }
    // 遷移先からの戻りの処理
    protected void onResume() {
        super.onResume();
        // DBから最新データ読込
        CountryDAO dao = CountryDAO.getInstance();
        this.countryList = dao.select();
        // 再表示
        this.adapter.notifyDataSetChanged();
    }
    private class OnItemClick implements AdapterView.OnItemClickListener {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            CountryDTO dto = (CountryDTO) parent.getItemAtPosition(position);
            // インテントの生成とDTOの添付
            Intent intent = new Intent(MainActivity.this, SubActivity.class);
            intent.putExtra("dto", dto);
            // インテント発行（遷移）
            startActivity(intent);
        }
    }
}