iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 11
0

ListView活用

Imgur
選擇顏色按鈕,按下去對應Id後,進入剛剛寫的ColorActivity

startActivityForResult(new Intent(this, ColorActivity.class), START_COLOR);
break;
  • 讓他回傳資料使用。
    Imgur
    回傳時,如果是Activity.RESULT_OK,就去switchrequestCode,選到後,把顏色接出來,key為"colorId"value沒有的話就是,Colors.LIGHTGREY.parseColor()這個顏色。
    Imgur
    顏色預設為,Colors.LIGHTGREY,判斷傳進來的顏色,對應的顏色後更改result,再回傳result。
    Imgur
    寫一個onClick事件,點入之後帶到PrefActivity
    Imgur
    PrefActivity裡面很特別繼承PreferenceActivity,主要是為了儲存我們想要的東西。
    裡面加入自製的xmlxml裡面有Preference、ListPreference,其中Preference在加入intent事件,intent"com.example.linyanan.myapplication.ColorSetting.ColorActivity",這個Activity,自帶一個action叫做"android.intent.action.CHOOSE_COLOR"ListPreference則是加入自己寫的res/value/string檔案裡面的array,並沒有要他去哪個畫面。
    Imgur
    看一下自製的畫面唄!
    Imgur
    再來我們看一下PreferenceActivity是怎麼寫的。
SharedPreferences sharedPreferences;
Preference preference;
  • SharedPreferences用來存東西。
  • Preference則是為了要拿剛剛在xml中設計的兩個Preference
protected void onResume() {
super.onResume();
int color = sharedPreferences.getInt("DEFAULT_COLOR", -1);
if (color != -1) {
// 設定顏色說明
preference.setSummary(getString(R.string.default_color_summary) +
": " + EditActivity.getColors(color));
}}
  • onResume這個方法,是有關於生命週期,回來畫面時會調用,暫停時也會。
  • 選定顏色後回來,去拿值,如果color不是預設的,那麼就將字更改,並且加入所選顏色。

上一篇
[Day10]ListViewr設計
下一篇
[Day12]ListView設計-03
系列文
Java 與 Kotlin 入門30

尚未有邦友留言

立即登入留言