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

getListView(); 오류 해결점 도와주세요!!...

–1 추천

리스트뷰에 setOnItemClickListener 를 주어 이벤트를 주려고합니다.. 

아래와 같이 빨간색으로 칠한부분 ListView lv = getListView(); 를 추가하려하면

오류는 나지 않으나, 어플 실행시에는 바로 종료되버립니다..

클릭 이벤트를 주지 않기위해 빨간부분을 삭제하면 잘되요...

import android.os.Bundle;
import android.os.StrictMode;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListAdapter;
import android.widget.SimpleAdapter;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

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

public class Main_talkActivity extends ListFragment {

    static final String URL = "~~~url주소~~~";

    static final String KEY_ITEM = "item"; // parent node
    static final String KEY_NAME = "name";
    static final String KEY_DATE = "date";
    static final String KEY_CONTENT = "content";

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View talkview = inflater.inflate(R.layout.main_talk, container,false);
        StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitNetwork().build());
        listview();

        return talkview;
    }

    public void listview(){

        ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();

        XMLParser parser = new XMLParser();
        String xml = parser.getXmlFromUrl(URL);
        Document doc = parser.getDomElement(xml);

        NodeList nl = doc.getElementsByTagName(KEY_ITEM);
        // looping through all item nodes <item>
        for (int i = 0; i < nl.getLength(); i++) {
            // creating new HashMap
            HashMap<String, String> map = new HashMap<String, String>();
            Element e = (Element) nl.item(i);

            map.put(KEY_NAME, parser.getValue(e, KEY_NAME));
            map.put(KEY_DATE, parser.getValue(e, KEY_DATE));
            map.put(KEY_CONTENT, parser.getValue(e, KEY_CONTENT));

            menuItems.add(map);
        }

        ListAdapter adapter = new SimpleAdapter(getActivity(), menuItems,
                R.layout.main_talk_lv,
                new String[] { KEY_NAME, KEY_DATE, KEY_CONTENT }, new int[] {
                R.id.talk_name, R.id.talk_date, R.id.talk_content });

        setListAdapter(adapter);

 ListView lv = getListView();
 lv.setOnItemClickListener(new OnItemClickListener() {

   @Override
   public void onItemClick(AdapterView<?> parent, View view,
     int position, long id) {
    클릭할시 이벤트
   }
 });

    }

}

 ListView lv = getListView();
 lv.setOnItemClickListener(new OnItemClickListener() {

   @Override
   public void onItemClick(AdapterView<?> parent, View view,
     int position, long id) {
    클릭할시 이벤트
   }
 });

    }

 

 

비밀소년 (1,010 포인트) 님이 2015년 5월 30일 질문

답변 달기

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