마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

프리퍼런스를 사용해서 리스트뷰에 띄우고 싶습니다..

0 추천
private String num1;

    ArrayList<String> Items;
    ArrayAdapter<String> Adapter;
    ListView listView;
    Button btnAdd, btnDel;
    EditText editText;

    private void loadArrayList(){
        SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
        String num1 = sharedPrefs.getString("num1","");
    }

    private void setPref(String num){
        SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
        SharedPreferences.Editor editor = sharedPrefs.edit();

        editor.putString("num1",num);
        editor.apply();
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.viewcontents_layout);


        Items = new ArrayList<String>();

        Intent intent = getIntent();
        num1 = intent.getStringExtra("result");

        if (num1 != null && !num1.equals("")) {
            Items.add(num1);

        }
        Adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_single_choice, Items);
        listView = (ListView) findViewById(R.id.listView);
        listView.setAdapter(Adapter);
        listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

        editText =  findViewById(R.id.editText);
        btnAdd =  findViewById(R.id.btnAdd);
        btnDel =  findViewById(R.id.btnDel);

        btnAdd.setOnClickListener(listener);
        btnDel.setOnClickListener(listener);
    }


    private View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.btnAdd:
                    String text = editText.getText().toString();
                    if (text.length() != 0) {
                        Items.add(text);
                        editText.setText("");
                        Adapter.notifyDataSetChanged();
                    }
                    break;
                case R.id.btnDel:
                    int pos;
                    pos = listView.getCheckedItemPosition();
                    if (pos != ListView.INVALID_POSITION) {
                        Items.remove(Items);
                        listView.clearChoices();
                        Adapter.notifyDataSetChanged();
                    }
                    break;
            }



        }
    };
}
qr코드를 인식하여서 리스트뷰에 저장하여 자료가남게 하는것과 
리스트뷰에 따로 저장을하여 자료가 남게하는것을 하고싶습니다.
초보자이다보니 프리퍼런스가 매우 어렵더군요..ㅠ 고수분들 도와주십시요
Alo_hoho 님이 2019년 3월 17일 질문

1개의 답변

0 추천

질문이 이해가 가질않아요.. 리스트뷰는 보여주는 뷰이지 DB가 아니라 무언가를 저장하는게 아니에요.

sharedpreference를 사용해보려 하시는것같은데, 리스트뷰 어댑터에 사용될 arraylist 변수를 

sharedpreference에 저장했다가 가져와서 보여주는건 가능합니다. 

익명사용자 님이 2019년 3월 18일 답변
...