Android 공유 환경 설정을 사용하여 활동 배경색 저장

user1353517

내 앱에서 대화 상자를 사용하여 활동 배경색을 변경할 수 있습니다.

휴대폰에서 앱을 다시 시작할 때 배경색이 변경된 상태로 유지되도록 공유 기본 설정을 사용하려고합니다.

코드가 작동하도록 변경하려면 어떻게해야합니까?

내 코드는 다음과 같습니다.

public class HomeActivity extends Activity {



    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);


    int storedPreference = preferences.getInt("storedInt", 0);
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_home);               

        if (preferences.getString("clicked", "yes").equals("nope")){
            // it never been clicked
        }else{
            // it has been clicked before do whatever you want with the background
        }

    }

    private static void setButtonPref(Context ctx, String clicked)
    {
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);
        SharedPreferences.Editor editor = prefs.edit();
        editor.putString("clicked", clicked);
        editor.commit();
    }


    public void showThemes (){
        ListView listView = new ListView(this);
        listView.setAdapter(new ArrayAdapter<String>(this, R.layout.theme_list, new String[]{"Green", "Pink", "Orange", "Blue"}));
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            // arg0 is your adapter, arg1 is the view clicked, arg2 is the position and arg3 is the id.
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                switch(arg2){
                    case(0):
                        View someView = findViewById(R.id.mainLayout);
                        View root = someView.getRootView();
                        root.setBackgroundColor(0xFF00FF00);
                        setButtonPref(context, "yes");

                        /*Window window = this.getWindow();
                        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
                        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
                        window.setStatusBarColor(0xFF00FF00);*/


                        break;
                    case(1):
                        Toast.makeText(getApplicationContext(), "Coming soon!", Toast.LENGTH_SHORT).show();

                        break;

                    case(2):
                        Toast.makeText(getApplicationContext(), "Coming soon!", Toast.LENGTH_SHORT).show();
                        break;

                    case(3):
                        Toast.makeText(getApplicationContext(), "Coming soon!", Toast.LENGTH_SHORT).show();
                        break;

                    default:
                        break;
                }
            }
        });
        Dialog dialog = new Dialog(this);
        dialog.setTitle("Themes");
        dialog.setContentView(listView);
        dialog.show();

    }
사용자 370305

onCreate()당신의 SharedPreferences preferences것입니다 널 (null) 이 내부를 초기화 할 때, onCreate()그래서 넣어 라인,

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

onCreate()액세스하기 전에 내부 에서

@Override
protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);    
      SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
      int storedPreference = preferences.getInt("storedInt", 0);
      if (preferences.getString("clicked", "yes").equals("nope")){
          // it never been clicked
      } else {
          // it has been clicked before do whatever you want with the background
      }
      setContentView(R.layout.activity_home);    
}

레이아웃에 영향을 미치는 코드가 있기 때문에 한 가지 더 setContentView(R.layout.activity_home);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Android Studio에서 공유 환경 설정을 사용하여 Google 로그인 세부 정보 저장

분류에서Dev

활동을 전환하거나 앱을 닫을 때 Android의 공유 환경 설정이 저장되지 않습니다.

분류에서Dev

URL을 입력하고 공유 환경 설정 Android로 저장하십시오.

분류에서Dev

고득점 저장을 위해 공유 환경 설정 사용

분류에서Dev

활동없이 다른 클래스에서 공유 된 환경 설정을 검색하는 방법 ANDROID

분류에서Dev

자격 증명 (사용자 이름 및 암호)을 저장하기 위해 iOS와 동등한 Android 공유 환경 설정이 있습니까?

분류에서Dev

공유 환경 설정을 사용하여 배경 변경

분류에서Dev

공유 환경 설정이 값을 저장하지 않음

분류에서Dev

'int ++'를 사용하여 공유 환경 설정에 값을 저장할 때 값은 동일하게 유지됩니다.

분류에서Dev

공유 환경 설정에 사용자 정의 개체 저장

분류에서Dev

공유 환경 설정을 사용하여 영구 데이터를 저장 하시겠습니까?

분류에서Dev

저장 활동에서 다른 공유 환경 설정을 열면 이전 공유 환경 설정이 대체됩니다.

분류에서Dev

Android의 활동 클래스에서 비 활동 클래스로 공유 환경 설정을 검색하는 방법은 무엇입니까?

분류에서Dev

공유 환경 설정 및 Dispatcher 활동을 사용하는 Android, 마지막 활동으로 돌아 가기 (전화 재부팅 후)

분류에서Dev

공유 환경 설정에 여러 키 값 쌍을 저장하는 방법

분류에서Dev

공유 환경 설정 Android Studio를 사용하여 버튼 텍스트 변경

분류에서Dev

위치 Android를 저장하기 위해 공유 환경 설정을 사용하는 방법은 무엇입니까?

분류에서Dev

Android : 공유 환경 설정이 작동하지 않음

분류에서Dev

Android 공유 환경 설정으로 큰 정수를 저장하는 방법은 무엇입니까?

분류에서Dev

시스템 환경 설정을 사용하여 가치 저장

분류에서Dev

공유 환경 설정에서 캘린더 데이터를 저장하는 방법 : Android

분류에서Dev

Android에 인증 헤더를 게시하는 방법, 토큰은 공유 환경 설정에 저장됩니다.

분류에서Dev

공유 환경 설정 저장된 ArrayList JSON 문자열을 사용 가능한 객체로 다시 변환하면 활동에 대한 널 포인터가 발생합니까?

분류에서Dev

다른 활동에서 공유 환경 설정 검색

분류에서Dev

환경 설정 활동이없는 사용자 정의 환경 설정 UI android

분류에서Dev

Android 공유 환경 설정이 제대로 저장되지 않음

분류에서Dev

기본값을 선언하는 Android 공유 환경 설정

분류에서Dev

공유 환경 설정을 사용하여 처음 실행시 확인하는 Android

분류에서Dev

페이지 플러터를 종료하는 동안 공유 환경 설정에 저장

Related 관련 기사

  1. 1

    Android Studio에서 공유 환경 설정을 사용하여 Google 로그인 세부 정보 저장

  2. 2

    활동을 전환하거나 앱을 닫을 때 Android의 공유 환경 설정이 저장되지 않습니다.

  3. 3

    URL을 입력하고 공유 환경 설정 Android로 저장하십시오.

  4. 4

    고득점 저장을 위해 공유 환경 설정 사용

  5. 5

    활동없이 다른 클래스에서 공유 된 환경 설정을 검색하는 방법 ANDROID

  6. 6

    자격 증명 (사용자 이름 및 암호)을 저장하기 위해 iOS와 동등한 Android 공유 환경 설정이 있습니까?

  7. 7

    공유 환경 설정을 사용하여 배경 변경

  8. 8

    공유 환경 설정이 값을 저장하지 않음

  9. 9

    'int ++'를 사용하여 공유 환경 설정에 값을 저장할 때 값은 동일하게 유지됩니다.

  10. 10

    공유 환경 설정에 사용자 정의 개체 저장

  11. 11

    공유 환경 설정을 사용하여 영구 데이터를 저장 하시겠습니까?

  12. 12

    저장 활동에서 다른 공유 환경 설정을 열면 이전 공유 환경 설정이 대체됩니다.

  13. 13

    Android의 활동 클래스에서 비 활동 클래스로 공유 환경 설정을 검색하는 방법은 무엇입니까?

  14. 14

    공유 환경 설정 및 Dispatcher 활동을 사용하는 Android, 마지막 활동으로 돌아 가기 (전화 재부팅 후)

  15. 15

    공유 환경 설정에 여러 키 값 쌍을 저장하는 방법

  16. 16

    공유 환경 설정 Android Studio를 사용하여 버튼 텍스트 변경

  17. 17

    위치 Android를 저장하기 위해 공유 환경 설정을 사용하는 방법은 무엇입니까?

  18. 18

    Android : 공유 환경 설정이 작동하지 않음

  19. 19

    Android 공유 환경 설정으로 큰 정수를 저장하는 방법은 무엇입니까?

  20. 20

    시스템 환경 설정을 사용하여 가치 저장

  21. 21

    공유 환경 설정에서 캘린더 데이터를 저장하는 방법 : Android

  22. 22

    Android에 인증 헤더를 게시하는 방법, 토큰은 공유 환경 설정에 저장됩니다.

  23. 23

    공유 환경 설정 저장된 ArrayList JSON 문자열을 사용 가능한 객체로 다시 변환하면 활동에 대한 널 포인터가 발생합니까?

  24. 24

    다른 활동에서 공유 환경 설정 검색

  25. 25

    환경 설정 활동이없는 사용자 정의 환경 설정 UI android

  26. 26

    Android 공유 환경 설정이 제대로 저장되지 않음

  27. 27

    기본값을 선언하는 Android 공유 환경 설정

  28. 28

    공유 환경 설정을 사용하여 처음 실행시 확인하는 Android

  29. 29

    페이지 플러터를 종료하는 동안 공유 환경 설정에 저장

뜨겁다태그

보관