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

Android listview클릭하면 다이얼로그가 뜨고 클릭한 값 보이게 하는 법

0 추천

안녕하세요 등록 버튼을 눌러 다이얼로그 안에 Editext에 값을 입력하며 리스트에 데이터가 add 되면,

add 된 값을 클릭하면 다이얼로그가 뜨고 해당 포지션의 값이 Edittext에 보이게 하고 싶습니다.

리스트의 해당 포지션을 클릭한 값은 다음가 같습니다. I/selected_Admin의 값

08-27 12:14:18.887 23900-23900/com.example.user.myapplication 

I/selected_Admin :: {devOrganization=1-2, auth=timer, devHwID=timer2305, devLocation=판교고}

admin.setAdapter(adapter);
                admin.setItemChecked(0, true);

                admin.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        selected_Admin = String.valueOf(mArrayList.get(position));
                        Log.i("selected_Admin : ", String.valueOf(selected_Admin));
                        Object vo = (Object) parent.getAdapter().getItem(position);  //리스트뷰의 포지션 내용을 가져옴.

                        //update(vo);
                    }
                });
------------------------------------------------------------------------------------------------------
update 버튼 클릭시 다이얼로그와 해당 값이 떠야하는 Edittext 가 있습니다.

 void update() {

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("디바이스 수정");
        builder.setMessage("디바이스 데이터를 수정하세요.");

        //builder.setMessage((CharSequence) vo).show();

        LayoutInflater inflater = getLayoutInflater();
        View view = inflater.inflate(R.layout.update_device, null);
        builder.setView(view);

        final Button update = (Button) view.findViewById(R.id.w_update);
        final Button cancel = (Button) view.findViewById(R.id.w_cancel);
        final Button delete = (Button) view.findViewById(R.id.w_del);

        HID = (EditText) view.findViewById(R.id.w_hwid);
        Auth = (EditText) view.findViewById(R.id.w_auth);
        part = (EditText) view.findViewById(R.id.w_part);
        loc = (EditText) view.findViewById(R.id.w_loc);

        final AlertDialog dialog = builder.create();

        update.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

               for (int i = 0; i < selected_Admin.length(); i++) {

                    ////*              hwid =selected_Admin.getString(TAG_HwID);*//*
                    select_hwid = String.valueOf(selected_Admin.charAt(0));
                    select_auth = String.valueOf(selected_Admin.charAt(1));
                    select_part = String.valueOf(selected_Admin.charAt(2));
                    select_loc = String.valueOf(selected_Admin.charAt(3));
                }
                HID.setText(select_hwid);
                Auth.setText(select_auth);
                part.setText(select_part);
                loc.setText(select_loc);
                System.out.println("update read data"+HID+"/"+Auth+""+part+"/"+loc);
                int count, checked ;
                count = adapter.getCount() ;

                if (count > 0) {
                    // 현재 선택된 아이템의 position 획득.
                    checked = admin.getCheckedItemPosition();
                    if (checked > -1 && checked < count) {
                        // 아이템 수정
                      // mArrayList.set(checked, (checked + 1) + "번 아이템 수정") ;

                        // listview 갱신
                      //  adapter.notifyDataSetChanged();
                    }
                }


        /*        HwID = HID.getText().toString();
                Authcode = Auth.getText().toString();
                Part = part.getText().toString();
                Loc = loc.getText().toString();*/

      /*    
                }
                dialog.dismiss();

            }
        });

 

익명사용자 님이 2018년 8월 27일 질문
정확히 어떤게 안되는 건지요?
다이얼로그 출력이 안되는건가요?
값이 이상하게 나오는 건가요?

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...