XML 비동기 작업에서 ListView와 함께 CustomAdapter를 사용하는 방법

Makgyverzx

나는 채울 달성 ListView를 사용 하여 StringBuilder를 인터넷 XML 소스에서합니다.

이 코드를 사용하면 listView는 하나의 String으로 만 채워지지만 요소별로 listview를 채우고 싶습니다. getIdLinegetTimeLeft (With CustomAdapter )로 분리 된 문자열에서 listView 항목의 레이아웃을 사용자 정의합니다.

이것을 달성하는 방법?

편집 된 코드

FragmentActivity.class

private ListView listViewEMT;
private ArrayList<HashMap<String, String>> yourList;

... AsyncTask

 protected void onPostExecute(String string) {
            super.onPostExecute(string);
CustomAdapter adapter = new CustomAdapter(getActivity(), yourList);
            listViewEMT.setAdapter(adapter);
            this.progressDialog.dismiss();


        }

 /** RSS HANDLER CLASS */


    class RSSHandler extends DefaultHandler {

        StringBuffer chars;
        private Arrival currentArrival;

        RSSHandler() {
            this.currentArrival = new Arrival();
            this.chars = new StringBuffer();
        }

        public void characters(char[] arrc, int n, int n2) {
            this.chars.append(new String(arrc, n, n2));
        }

        public void endElement(String string, String string2, String string3) throws SAXException {
            super.endElement(string, string2, string3);
            if ((string2.equalsIgnoreCase("idStop")) && (this.currentArrival.getIdStop() == null)) {
                this.currentArrival.setIdStop(this.chars.toString());
            }
            if ((string2.equalsIgnoreCase("idLine")) && (this.currentArrival.getIdLinea() == null)) {
                this.currentArrival.setIdLinea(this.chars.toString());
            }
            if ((string2.equalsIgnoreCase("TimeLeftBus")) && (this.currentArrival.getTimeLeft() == 0)) {
                int n = Integer.valueOf((String)(this.chars.toString()));
                this.currentArrival.setTimeLeft(n);
            }
            if (!(string2.equalsIgnoreCase("Arrive"))) return;
            yourList.add((HashMap<String, String>)(currentArrival.getMap()));
            this.currentArrival = new Arrival();
        }

        public void startElement(String string, String string2, String string3, org.xml.sax.Attributes attributes) throws SAXException {
            super.startElement(string, string2, string3, attributes);
            this.chars = new StringBuffer();
            string2.equalsIgnoreCase("Arrive");
        }

    }

Arrival.class

...getters and setters
 public HashMap<String, String> getMap() {

        HashMap<String, String> map;
        map = new HashMap<String, String>();
        // adding each child node to HashMap key => value
        map.put("KEY1", idLinea);
        map.put("KEY2", String.valueOf(timeLeft));



        return map;

    }

CustomAdapter.class Nabin 덕분에

public class CustomAdapter extends BaseAdapter {
    private Activity activity;
    private ArrayList<HashMap<String, String>> data;
    private static LayoutInflater inflater = null;
    private List<String> listString;

    public CustomAdapter(Activity a, ArrayList<HashMap<String, String>> d) {
        activity = a;
        data = d;
        inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public int getCount() {
        return 0;
    }

    @Override
    public Object getItem(int position) {
        return data.get(position);
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View vi = convertView;
        if (convertView == null)
            vi = inflater.inflate(R.layout.emt_item, null);

        TextView tv1 = (TextView) vi.findViewById(R.id.itemLine);
        TextView tv2 = (TextView) vi.findViewById(R.id.itemTime);
        HashMap<String, String> map;
        map = data.get(position);
        tv1.setText(map.get("KEY1"));
        tv2.setText(map.get("KEY2"));
        return vi;
    }

}
나빈

다음과 같이 사용자 지정 어댑터를 만듭니다.

public class ArrayAdapter extends BaseAdapter{
private Activity activity;
private ArrayList<HashMap<String, String>> data;
private static LayoutInflater inflater = null;
private List<String> listString;

public ArrayAdapter(Activity a, ArrayList<HashMap<String, String>> d) {
    activity = a;
    data = d;
    inflater = (LayoutInflater) activity
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
//your getView method here
}

GetView 메서드

public View getView(int position, View convertView, ViewGroup parent) {
        View vi = convertView;
        if (convertView == null)
            vi = inflater.inflate(R.layout.custom, null);

        TextView tv1 = (TextView) vi.findViewById(R.id.tvone);
        TextView tv2 = (TextView) vi.findViewById(R.id.tvtwo);
        HashMap<String, String> map = new HashMap<String, String>();
        map = data.get(position);
        tv1.setText(map.get("KEY1"));
        tv2.setText(map.get("KEY2"));
        return vi;
    }

배열 목록을 다음과 같이 만듭니다.

ArrayList<HashMap<String, String>> yourList;

그리고 yourList를 다음 과 같이 채우 십시오 .

HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put("KEY1", value1);
map.put("KEY2", value2);
yourList.add(map);

그리고 커스텀 어댑터의 오브젝트를 만들면서

CustomAdapter adapter = new CustomAdapter(YourActivity.this, yourList);
list.setAdapter(adapter);

들어 목록 당신이 할 수있는

list = (ListView) getView().findViewById(android.R.id.list);

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자 지정 CursorAdapter와 함께 ListView에서 EndlessAdapter를 사용하는 방법

분류에서Dev

Vuejs에서 동적 요소와 함께 v-show를 사용하는 방법

분류에서Dev

ADW에서 동시 쿼리와 함께 CTAS를 사용하는 방법

분류에서Dev

ADW에서 동시 쿼리와 함께 CTAS를 사용하는 방법

분류에서Dev

MATLAB에서 함수와 함께 pcg를 사용하는 방법

분류에서Dev

graphql 쿼리에서 변수와 함께 % 기호를 사용하는 방법

분류에서Dev

Flutter : ListView.separated와 함께 StreamBuilder를 사용하는 방법

분류에서Dev

()에서 System.out.println와 함께 작업에 System.out.print ()를 사용하는 방법 변경

분류에서Dev

ListView와 함께 NavigationDrawer에 ImageView를 추가하는 방법

분류에서Dev

비동기 함수와 함께 반응 후크 "useMemo"를 사용하는 방법은 무엇입니까?

분류에서Dev

비동기 함수와 함께 ng-if를 사용하는 방법은 무엇입니까?

분류에서Dev

Terraform에서 EKS와 함께 Amazon EFS를 사용하는 방법

분류에서Dev

Angular 6에서 * ngFor와 함께 ngSwitch를 사용하는 방법

분류에서Dev

React에서 Typescript와 함께 PropTypes를 사용하는 방법

분류에서Dev

INDY와 함께 Delphi 10.3에서 HTTPS를 사용하는 방법

분류에서Dev

mongodb에서 $ push와 함께 조회를 사용하는 방법

분류에서Dev

cyginw에서 zsh와 함께 prezto를 사용하는 방법

분류에서Dev

ElasticSearch에서 JAVA API와 함께 hasChildFilter를 사용하는 방법

분류에서Dev

grails에서 Integer와 함께 ilike를 사용하는 방법

분류에서Dev

Kinect를 Mac에서 Cinder와 함께 사용하는 방법

분류에서Dev

Datepicker에서 foreach와 함께 beforeShowDay를 사용하는 방법

분류에서Dev

Primefaces에서 ContentFlow와 함께 contextMenu를 사용하는 방법

분류에서Dev

ASP.NET 4.0에서 WebForm의 RegisterAsyncTask와 함께 HttpClient 비동기 메서드를 사용하는 방법은 무엇입니까?

분류에서Dev

보기와 웹보기를 함께 사용하는 방법-Android

분류에서Dev

동적 데이터와 함께 pdfMake를 사용하는 방법

분류에서Dev

WMQ 탐색기를 WMQ AMS와 함께 사용하는 방법

분류에서Dev

$ SHELL 변수를 물고기와 함께 사용하는 방법?

분류에서Dev

ASP.NET/MVC/REST와 함께 비동기 라이브러리를 사용하는 올바른 방법

분류에서Dev

CustomAdapter를 사용하여 ListView에서 OnItemClickListener를 설정하는 방법

Related 관련 기사

  1. 1

    사용자 지정 CursorAdapter와 함께 ListView에서 EndlessAdapter를 사용하는 방법

  2. 2

    Vuejs에서 동적 요소와 함께 v-show를 사용하는 방법

  3. 3

    ADW에서 동시 쿼리와 함께 CTAS를 사용하는 방법

  4. 4

    ADW에서 동시 쿼리와 함께 CTAS를 사용하는 방법

  5. 5

    MATLAB에서 함수와 함께 pcg를 사용하는 방법

  6. 6

    graphql 쿼리에서 변수와 함께 % 기호를 사용하는 방법

  7. 7

    Flutter : ListView.separated와 함께 StreamBuilder를 사용하는 방법

  8. 8

    ()에서 System.out.println와 함께 작업에 System.out.print ()를 사용하는 방법 변경

  9. 9

    ListView와 함께 NavigationDrawer에 ImageView를 추가하는 방법

  10. 10

    비동기 함수와 함께 반응 후크 "useMemo"를 사용하는 방법은 무엇입니까?

  11. 11

    비동기 함수와 함께 ng-if를 사용하는 방법은 무엇입니까?

  12. 12

    Terraform에서 EKS와 함께 Amazon EFS를 사용하는 방법

  13. 13

    Angular 6에서 * ngFor와 함께 ngSwitch를 사용하는 방법

  14. 14

    React에서 Typescript와 함께 PropTypes를 사용하는 방법

  15. 15

    INDY와 함께 Delphi 10.3에서 HTTPS를 사용하는 방법

  16. 16

    mongodb에서 $ push와 함께 조회를 사용하는 방법

  17. 17

    cyginw에서 zsh와 함께 prezto를 사용하는 방법

  18. 18

    ElasticSearch에서 JAVA API와 함께 hasChildFilter를 사용하는 방법

  19. 19

    grails에서 Integer와 함께 ilike를 사용하는 방법

  20. 20

    Kinect를 Mac에서 Cinder와 함께 사용하는 방법

  21. 21

    Datepicker에서 foreach와 함께 beforeShowDay를 사용하는 방법

  22. 22

    Primefaces에서 ContentFlow와 함께 contextMenu를 사용하는 방법

  23. 23

    ASP.NET 4.0에서 WebForm의 RegisterAsyncTask와 함께 HttpClient 비동기 메서드를 사용하는 방법은 무엇입니까?

  24. 24

    보기와 웹보기를 함께 사용하는 방법-Android

  25. 25

    동적 데이터와 함께 pdfMake를 사용하는 방법

  26. 26

    WMQ 탐색기를 WMQ AMS와 함께 사용하는 방법

  27. 27

    $ SHELL 변수를 물고기와 함께 사용하는 방법?

  28. 28

    ASP.NET/MVC/REST와 함께 비동기 라이브러리를 사용하는 올바른 방법

  29. 29

    CustomAdapter를 사용하여 ListView에서 OnItemClickListener를 설정하는 방법

뜨겁다태그

보관