1. 程式人生 > >Android核心技術-day02-08-settings

Android核心技術-day02-08-settings

package com.gaozewen.setting;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private CheckBox cb;
    private SharedPreferences sp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        cb = findViewById(R.id.cb);
        sp = getSharedPreferences("config", MODE_PRIVATE);

        // 回顯資料
        boolean status = sp.getBoolean("status", false);
        cb.setChecked(status);

        cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
//                Toast.makeText(MainActivity.this,"setOnCheckedChangeListener",Toast.LENGTH_SHORT).show();
                if(isChecked){
                    // 去設定 EditText 的內容
                }
                SharedPreferences.Editor edit = sp.edit();
                edit.putBoolean("status",isChecked);
                edit.apply(); // 應用資料 類似關閉流 事務
            }
        });

        cb.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.this,"setOnClickListener",Toast.LENGTH_SHORT).show();
                // 這裡需要呼叫方法,上面直接呼叫的引數
                cb.isChecked();
            }
        });
    }
}