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

안드로이드 스튜디오 php 리스트뷰 구현하기

0 추천

제가 php에서 데이터를 불러와서 리스트를 구현했습니다.

그런데 아이템을 클릭하면 해당 액티비티로 들어가야 하는데 안됩니다.

맨 밑에 if 문을 손봐주면 될것 같은데 어떻게 해야 할지 막막하네요

도와주세요

public class MainActivity extends Activity {

    private ArrayList<String> items;
    private ArrayAdapter<String> adapter;

    Intent intent;

    EditText edit;

    String myJSON;

    private static final String TAG_RESULTS="result";
    private static final String TAG_WIFINAME = "wifiname";

    JSONArray peoples = null;

    ArrayList<HashMap<String, String>> personList;

    ListView list;

    @Override

    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list = (ListView) findViewById(R.id.lv_data);
        personList = new ArrayList<HashMap<String,String>>();
        getData("http://192.168.10.101/listlistlist.php");

        edit = (EditText)findViewById(R.id.editTextselect);

        edit = (EditText) findViewById(R.id.editTextselect);
        edit.setInputType(0);
        edit.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                edit.setInputType(1);
                InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                mgr.showSoftInput(edit, InputMethodManager.SHOW_IMPLICIT);
            }
        });

        // 검색 이벤트
        edit.addTextChangedListener(new TextWatcher() {
            public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
            }

            public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
            }

            public void afterTextChanged(Editable arg0) {
                MainActivity.this.adapter.getFilter().filter(arg0);
                MainActivity.this.adapter.notifyDataSetChanged();
            }
        });

        // ListView의 데이터를 저장할 Adapter 생성
        items = new ArrayList<String>();

        adapter = new ArrayAdapter<String>(this, R.layout.list_item, items);
        ListView list = (ListView) findViewById(R.id.lv_data);
        list.setAdapter(adapter);

        // ListView의 이벤트 설정
        list.setOnItemClickListener(new ListViewItemClickListener());

    }

    protected void showList(){
        try {
            JSONObject jsonObj = new JSONObject(myJSON);
            peoples = jsonObj.getJSONArray(TAG_RESULTS);

            for(int i=0;i<peoples.length();i++){
                JSONObject c = peoples.getJSONObject(i);
                String wifiname = c.getString(TAG_WIFINAME);

                HashMap<String,String> persons = new HashMap<String,String>();

                persons.put(TAG_WIFINAME,wifiname);

                personList.add(persons);
            }

            ListAdapter adapter = new SimpleAdapter(
                    MainActivity.this, personList, R.layout.list_item,
                    new String[]{TAG_WIFINAME},
                    new int[]{R.id.wifiname}
            );

            list.setAdapter(adapter);

        } catch (JSONException e) {
            e.printStackTrace();
        }

    }

    public void getData(String url){
        class GetDataJSON extends AsyncTask<String, Void, String> {

            @Override
            protected String doInBackground(String... params) {

                String uri = params[0];

                BufferedReader bufferedReader = null;
                try {
                    URL url = new URL(uri);
                    HttpURLConnection con = (HttpURLConnection) url.openConnection();
                    StringBuilder sb = new StringBuilder();

                    bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream()));

                    String json;
                    while((json = bufferedReader.readLine())!= null){
                        sb.append(json+"\n");
                    }

                    return sb.toString().trim();

                }catch(Exception e){
                    return null;
                }

            }

            @Override
            protected void onPostExecute(String result){
                myJSON=result;
                showList();
            }
        }
        GetDataJSON g = new GetDataJSON();
        g.execute(url);
    }

    // ListView의 item을 클릭
    private class ListViewItemClickListener implements AdapterView.OnItemClickListener
    {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            String value = parent.getItemAtPosition(position).toString();
            Log.d("밸류값확인", value);
            if(=="admin") {
                Intent item = new Intent(MainActivity.this, adminActivity.class);
                startActivity(item);
            }
익명사용자 님이 2016년 11월 15일 질문

답변 달기

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