공유 환경 설정에서 부울 값을 가져올 수 없습니다.

안나

확인란이 있습니다. 기본적으로 선택 해제되어 있습니다. 즉 거짓. 체크 박스를 수동으로 체크하면, 즉 체크 박스가 체크되어 있으면 다른 클래스에서 특정 작업을 수행합니다.

SharedPreference를 사용하여 확인란의 상태를 저장하려고했지만 GetBoolean을 사용하여 다른 클래스에서 확인란 값을 가져 오려고 할 때 저장된 값을 얻지 못했습니다.

내 레이아웃 xml 파일

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Number of Circle" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" >

    </EditText>

     <CheckBox
        android:id="@+id/chkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/enable_touch_checkBox"
        />


    <Button
        android:id="@+id/buttonAlert"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="131dp"
        android:text="save" 
        />
</LinearLayout>

MyPreferenceActivity 클래스

package de.vogella.android.wallpaper;

import android.app.Activity;
import android.app.WallpaperManager;
import android.content.ComponentName;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;

public class MyPreferencesActivity extends Activity {
    private PrefManager pref;
    private TextView txtGoogleUsername, txtNoOfCircles, txtGalleryName;
    private CheckBox checkBox ;
    private Button btnSave;
    private Boolean checkBoxValue;
    private static final String PREF_NAME = "wallpaper";


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

    txtNoOfCircles = (TextView) findViewById(R.id.editText1);
    checkBox = (CheckBox) findViewById(R.id.chkBox1);
    btnSave = (Button) findViewById(R.id.buttonAlert);

    pref = new PrefManager(getApplicationContext());
    txtNoOfCircles.setText(String.valueOf(pref.getNoOfGridCircles()));
    //checkBox.setChecked(pref.getCheckBox());

    /********************************/
    SharedPreferences sharedPreferences =PreferenceManager.getDefaultSharedPreferences(this);
    checkBoxValue = sharedPreferences.getBoolean("Box", false);
    if(checkBoxValue){
        checkBox.setChecked(true);
    }
    else
    {
        checkBox.setChecked(false);
    }



    /********************************/

    /*saveLogin = pref.getCheckBox();
    if(saveLogin == true){
        checkBox.setChecked(true);
    }*/


    btnSave.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            //savePreferences("Box", checkBox.isChecked());
            if(checkBox.isChecked())
            {
                //pref.setCheckBox(true);
                savePreferences("Box", checkBox.isChecked());
                Toast.makeText(getApplicationContext(),
                        "hii",
                        Toast.LENGTH_LONG).show();

            }
            else
            {
                savePreferences("Box", checkBox.isChecked());
                //pref.setCheckBox(false);
            }
            boolean vals = pref.getCheckBox();
            //checkBox = (CheckBox) findViewById(R.id.chkBox1);

            String no_of_columns = txtNoOfCircles.getText().toString()
                    .trim();
            //checkBox.get
            if (no_of_columns.length() == 0 || !isInteger(no_of_columns)) {
                Toast.makeText(getApplicationContext(),
                        getString(R.string.toast_enter_valid_number),
                        Toast.LENGTH_LONG).show();
                return;
            }

            if(no_of_columns != null || no_of_columns.equals(" ") )
            {

                if (!no_of_columns.equalsIgnoreCase(String.valueOf(pref
                                .getNoOfGridCircles()))) {
                    // User changed the settings
                    // save the changes and launch SplashScreen to initialize
                    // the app again
                   // pref.setGoogleUsername(googleUsername);
                    pref.setNoOfGridCircles(Integer.parseInt(no_of_columns));
                  //  pref.setCheckBox(val);

                 //   pref.setGalleryName(galleryName);

                    // start the app from SplashScreen
                    Intent i = new Intent(MyPreferencesActivity.this,
                            SetWallpaperActivity2.class);
                    // Clear all the previous activities
                    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_CLEAR_TASK);


                    startActivity(i);
                } else {
                    // user not modified any values in the form
                    // skip saving to shared preferences
                    // just go back to previous activity
                    onBackPressed();
                }

            }

        }

    });

}

public boolean isInteger(String input) {
    try {
        Integer.parseInt(input);
        return true;
    } catch (Exception e) {
        return false;
    }
}


private void savePreferences(String key, boolean value){
    //SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences sharedPreferences = getSharedPreferences(PREF_NAME,0);
    Editor editor = sharedPreferences.edit();
    editor.putBoolean(key, value);
    editor.commit();

}

  }

내 wallpaperService 클래스

package de.vogella.android.wallpaper;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import android.animation.AnimatorSet.Builder;
import android.app.ActionBar.LayoutParams;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.net.Uri;
import android.os.Handler;
import android.preference.PreferenceManager;
import android.service.wallpaper.WallpaperService;
import android.text.method.LinkMovementMethod;
import android.util.Log;
import android.view.ContextThemeWrapper;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class MyWallpaperService extends WallpaperService {

    private final String TAG = getClass().getSimpleName();
    private static final String PREF_NAME = "wallpaper";
    //private PrefManager pref = new PrefManager(getApplicationContext());



    @Override
    public Engine onCreateEngine() {
        Log.i( TAG, "onCreateEngine" );
        return new MyWallpaperEngine();
    }

    private class MyWallpaperEngine<YourActivity> extends Engine {
        private final Handler handler = new Handler();
        private final Runnable drawRunner = new Runnable() {
            @Override
            public void run() {
                draw();
            }

        };
        private List<MyPoint> circles;
        private Paint paint = new Paint();
        Bitmap image = null;
        private int width;
        int height;
        private boolean visible = true;
        private int maxNumber;
        private int maxNumber2;
        private boolean touchEnabled;
        private boolean touchEnabled2;
        SharedPreferences prefs = null;


        int fatchDataSize = 10;
        ProdAdDetails []prodobj = new ProdAdDetails[fatchDataSize]; 
        HashMap<Integer,String> map = new HashMap<Integer,String>();
        Canvas canvas = null;
        public MyWallpaperEngine() 
{
            pref= new PrefManager(getApplicationContext());
            //prefs=PreferenceManager.getDefaultSharedPreferences(MyWallpaperService.this);
                    prefs = getSharedPreferences(PREF_NAME,0);

            touchEnabled = prefs.getBoolean("Box",false);




                    }

        @Override
        public void onVisibilityChanged(boolean visible) {
            this.visible = visible;
            if (visible) {
                handler.post(drawRunner);
            } else {
                handler.removeCallbacks(drawRunner);
            }
        }

        public void onSurfaceDestroyed(SurfaceHolder holder) {
            super.onSurfaceDestroyed(holder);
            this.visible = true;
            handler.removeCallbacks(drawRunner);
        }
        @Override
        public void onSurfaceChanged(SurfaceHolder holder, int format, int width,
                int height) {
            this.width = width;
            this.height = height;
            super.onSurfaceChanged(holder, format, width, height);
        }

        @Override
        public void onTouchEvent(MotionEvent event) {
            if (touchEnabled) {
                if (event.getAction() == MotionEvent.ACTION_MOVE ) 
                 {                        
                    Toast.makeText(getApplicationContext(), "Move", Toast.LENGTH_SHORT).show();             
                 }
                 else
                 if (event.getAction() == MotionEvent.ACTION_DOWN) 
                 {                         
                    Toast.makeText(getApplicationContext(), "Down", Toast.LENGTH_SHORT).show();


                 }      

                super.onTouchEvent(event);
            } // if block end
        }


        private void draw() {
            SurfaceHolder holder = getSurfaceHolder();
            //Canvas canvas = null;
            try {
                canvas = holder.lockCanvas();
                if (canvas != null) {
                    if (circles.size() >= maxNumber2) {
                        circles.clear();
                        map = new HashMap<Integer,String>();
                    }
                    int x = (int) (width * Math.random());
                    int y = (int) (height * Math.random());

                    circles.add(new MyPoint(null, String.valueOf(circles.size() + 1), x, y));
                    drawCircles(canvas, circles);
                }
            } finally {
                if (canvas != null)
                    holder.unlockCanvasAndPost(canvas);
            }
            handler.removeCallbacks(drawRunner);
            if (visible) {
                handler.postDelayed(drawRunner, 10000);
            }
        }

        // Surface view requires that all elements are drawn completely
        private void drawCircles(Canvas canvas, List<MyPoint> circles) {
            canvas.drawColor(Color.LTGRAY);
            int i=0;
            for (MyPoint point : circles) {
                //-------------------------------
                paint.setTextSize(20);
                paint.setStrikeThruText(true);

                image = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
                canvas.drawBitmap(image, point.x, point.y, null);
                //touchEnabled = ((SharedPreferences) paint).getBoolean("touch", true);
                //=====================================
                ProdAdDetails pad = prodobj[i];//(ProdAdDetails)point.prodobj;

                String prodName      = pad.getProd_name();
                String prodDtl       = pad.getProd_details();
                String prodCompName  = pad.getProd_comp_name();
                String prodPrice     = pad.getProd_price();

                final String prodDtls = prodDtl+"\nCompany :"+prodCompName+"\nRate :"+prodPrice+"%";
                canvas.drawText(prodName, point.x+1, point.y+1, paint);
                canvas.drawBitmap(image, point.x, point.y, null);
                int key = point.x;
                System.out.println("put:::"+key);
                map.put(key, prodDtls);
            //-------------------------------
                //canvas.drawPaint(paint);
                //Circle(point.x, point.y, 40.0f, paint);
                //Toast.makeText(getApplicationContext(), prodDtls, Toast.LENGTH_SHORT).show();
                i++;
            }
        }




    }




}

나는 내 코드를 게시했으며 제안이나 조언은 내가 어디로 잘못 가고 있는지 이해할 수 없기 때문에 도움이 될 것입니다.

rajan.kali
public static String KEY="Box";
    private void savePreferences(boolean value){
        SharedPreferences sharedpreferences = getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);    
        Editor editor = sharedpreferences.edit();
        editor.putBoolean(KEY,value);
        editor.commit();
        }

검색 종료

SharedPreferences getpreferences = getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);   
boolean isChecked=getpreferences.getBoolean("Box",false);

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

공유 환경 설정을 지울 수 없습니다.

분류에서Dev

공유 환경 설정을 사용하여 Android에서 일회성 등록 화면을 구현하고 싶지만 이전 공유 환경 설정을 가져올 수 없습니다.

분류에서Dev

안드로이드 : 필요성 ++ NDK 및 저장 일부 부울 값 공유 환경 설정 C에서 개체를 만들 수 있습니다

분류에서Dev

공유 환경 설정에서 저장된 값을 검색 할 수 없습니다.

분류에서Dev

Ansible 부울 변수에서 올바른 동작을 가져올 수 없습니다.

분류에서Dev

Ansible 부울 변수에서 올바른 동작을 가져올 수 없습니다.

분류에서Dev

Lua 함수에서 C 함수 반환 값을 가져올 수 없습니다.

분류에서Dev

설정을 가져올 수 없습니다. 시스템 경로에 없음

분류에서Dev

내 conda 환경에서 matplotlib를 가져올 때 ImportError : 'PIL'에서 '_imaging'이름을 가져올 수 없습니다.

분류에서Dev

URL 변경시 드롭 다운에서 값을 가져올 수 없습니다.

분류에서Dev

파이프 내부에 설정된 쉘 변수의 정확한 값을 가져올 수 없습니다.

분류에서Dev

저장 프로 시저에서 반환 값을 가져올 수 없습니다.

분류에서Dev

Editable Circle onRadiusChanged 이벤트에서 반경 값을 가져올 수 없습니다.

분류에서Dev

tsconfig의 경로는 유형을 가져올 수 없습니다.

분류에서Dev

boot_received 브로드 캐스트 수신기 내부에서 부울을 설정하지 않는 공유 환경 설정

분류에서Dev

postgres에서 열을 정수 또는 부울로 변경할 수 없습니다.

분류에서Dev

Python의 함수에서 성공적으로 반환을 가져올 수 없습니다.

분류에서Dev

기본 제공 유형을 가져올 수 없습니다.

분류에서Dev

sprintf 함수 호출에서 올바른 반환 값을 가져올 수 없습니다.

분류에서Dev

Xpath 1.0 : 특정 요소의 값을 가져올 수 없습니다. 중복 값이 반환되었습니다.

분류에서Dev

ContentControl에서 선택한 값을 가져올 수없고 원하는 값도 설정할 수 없습니다.

분류에서Dev

컨트롤러에서 CI의보기에서 ajax 성공 함수로 반환 된 값을 가져올 수 없습니다.

분류에서Dev

Spring MVC : jsp에서 json 값을 가져올 수 없습니다. 0을 제공합니다.

분류에서Dev

스프링 부트 앱의 application.properties에서 환경 변수를 가져올 수 없습니다.

분류에서Dev

내 부울 유형 메서드를 올바르게 반환 할 수 없습니다.

분류에서Dev

소켓 accept () 후 반환 값을 가져올 수 없습니다.

분류에서Dev

xquery에서 부울 값을 할당 할 수 없습니다.

분류에서Dev

확인 경고 기능에서 반환 값을 가져 와서 Editclicked를 false로 설정할 수 있습니다.

분류에서Dev

js의지도에서 값을 가져올 수 없습니다.

Related 관련 기사

  1. 1

    공유 환경 설정을 지울 수 없습니다.

  2. 2

    공유 환경 설정을 사용하여 Android에서 일회성 등록 화면을 구현하고 싶지만 이전 공유 환경 설정을 가져올 수 없습니다.

  3. 3

    안드로이드 : 필요성 ++ NDK 및 저장 일부 부울 값 공유 환경 설정 C에서 개체를 만들 수 있습니다

  4. 4

    공유 환경 설정에서 저장된 값을 검색 할 수 없습니다.

  5. 5

    Ansible 부울 변수에서 올바른 동작을 가져올 수 없습니다.

  6. 6

    Ansible 부울 변수에서 올바른 동작을 가져올 수 없습니다.

  7. 7

    Lua 함수에서 C 함수 반환 값을 가져올 수 없습니다.

  8. 8

    설정을 가져올 수 없습니다. 시스템 경로에 없음

  9. 9

    내 conda 환경에서 matplotlib를 가져올 때 ImportError : 'PIL'에서 '_imaging'이름을 가져올 수 없습니다.

  10. 10

    URL 변경시 드롭 다운에서 값을 가져올 수 없습니다.

  11. 11

    파이프 내부에 설정된 쉘 변수의 정확한 값을 가져올 수 없습니다.

  12. 12

    저장 프로 시저에서 반환 값을 가져올 수 없습니다.

  13. 13

    Editable Circle onRadiusChanged 이벤트에서 반경 값을 가져올 수 없습니다.

  14. 14

    tsconfig의 경로는 유형을 가져올 수 없습니다.

  15. 15

    boot_received 브로드 캐스트 수신기 내부에서 부울을 설정하지 않는 공유 환경 설정

  16. 16

    postgres에서 열을 정수 또는 부울로 변경할 수 없습니다.

  17. 17

    Python의 함수에서 성공적으로 반환을 가져올 수 없습니다.

  18. 18

    기본 제공 유형을 가져올 수 없습니다.

  19. 19

    sprintf 함수 호출에서 올바른 반환 값을 가져올 수 없습니다.

  20. 20

    Xpath 1.0 : 특정 요소의 값을 가져올 수 없습니다. 중복 값이 반환되었습니다.

  21. 21

    ContentControl에서 선택한 값을 가져올 수없고 원하는 값도 설정할 수 없습니다.

  22. 22

    컨트롤러에서 CI의보기에서 ajax 성공 함수로 반환 된 값을 가져올 수 없습니다.

  23. 23

    Spring MVC : jsp에서 json 값을 가져올 수 없습니다. 0을 제공합니다.

  24. 24

    스프링 부트 앱의 application.properties에서 환경 변수를 가져올 수 없습니다.

  25. 25

    내 부울 유형 메서드를 올바르게 반환 할 수 없습니다.

  26. 26

    소켓 accept () 후 반환 값을 가져올 수 없습니다.

  27. 27

    xquery에서 부울 값을 할당 할 수 없습니다.

  28. 28

    확인 경고 기능에서 반환 값을 가져 와서 Editclicked를 false로 설정할 수 있습니다.

  29. 29

    js의지도에서 값을 가져올 수 없습니다.

뜨겁다태그

보관