0

나는 내가 특정 필드 입력하는와 CustomBaseAdapter이 : 나는 AsyncTask를의하여 onPostExecute를이 불 할AsyncTask를, CustomBaseAdapter 및 목록보기

public ArrayList<SearchResults> GetSearchResults(){ 
      ArrayList<SearchResults> results = new ArrayList<SearchResults>(); 

      Document doc = Jsoup.parse(kpn); 
      Elements tdsFromSecondColumn = doc.select("table.personaltable td:eq(0)"); 
      Elements tdsFromSecondColumn1 = doc.select("table.personaltable td:eq(1)"); 
      SearchResults sr1 = new SearchResults(); 

      for (Element tdFromSecondColumn : tdsFromSecondColumn) {       
       sr1 = new SearchResults(); 
       sr1.setNaam(tdFromSecondColumn.text()); 
       results.add(sr1); 
      } 

      for (Element tdFromSecondColumn1 : tdsFromSecondColumn1) {        
       sr1 = new SearchResults(); 
       sr1.setWaarde(tdFromSecondColumn1.text()); 
       results.add(sr1); 
      } 

      return results; 

    } 

을하지만 난 가까운 힘을 얻을 :

@Override 
    protected void onPostExecute(String result) { 
     ListView kp = (ListView)findViewById(R.id.kpn); 

     ArrayList<SearchResults> searchResults = GetSearchResult();    
     kp.setAdapter(new MyCustomBaseAdapter(this, searchResults)); <--- think here is the error 

     progress.dismiss(); 

    } 

이 코드가 가능합니까? 변경할 내용이없는 경우. 미리 감사드립니다. 다음 waarde 필드를

kp.setAdapter(new MyCustomBaseAdapter(AppName.this, searchResults)); 

하지만 필드는 여전히 JSoup로 잘못 가득, 먼저 모든 나암 필드가 표시되고 :

+1

예외 n 도움이 될 것입니다. MyCystomAdapter의 코드도 붙여 넣으십시오. –

+2

로그에서 오류 게시 – Pedantic

답변

0

좋아, 내가 수행하여 예외를 제거되었다.

naam: 
naam: 
naam: 
waarde 
waarde 
waarde 

이 있어야한다 :

누군가가 필드가 제대로 작성되도록 JSoup의 루프 2를 결합하는 방법을 알고 있나요
naam: waarde 
naam: waarde 

:

여기
 Document doc = Jsoup.parse(kpn); 
     Elements tdsFromSecondColumn = doc.select("table.personaltable td:eq(0)"); 
     Elements tdsFromSecondColumn1 = doc.select("table.personaltable td:eq(1)"); 
     SearchResults sr1 = new SearchResults(); 

      for (Element tdFromSecondColumn : tdsFromSecondColumn) {       
       sr1 = new SearchResults(); 
       sr1.setNaam(tdFromSecondColumn.text()); 
       results.add(sr1); 
      } 

      for (Element tdFromSecondColumn1 : tdsFromSecondColumn1) {        
       sr1 = new SearchResults(); 
       sr1.setWaarde(tdFromSecondColumn1.text()); 
       results.add(sr1); 
      } 

내 CustomBaseAdapter 요청으로 :

public class MyCustomBaseAdapter extends BaseAdapter { 

private static ArrayList<SearchResults> searchArrayList; 

    private LayoutInflater mInflater; 


public MyCustomBaseAdapter(Context context, ArrayList<SearchResults> results) { 
    searchArrayList = results; 
    mInflater = LayoutInflater.from(context); 
    } 


public int getCount() { 
    return searchArrayList.size(); 
    } 

public Object getItem(int position) { 
    return searchArrayList.get(position); 
    } 

public long getItemId(int position) { 
    return position; 
    } 

public View getView(int position, View convertView, ViewGroup parent) { 
    ViewHolder holder; 
    if (convertView == null) { 
    convertView = mInflater.inflate(R.layout.test, null); 
    holder = new ViewHolder(); 
    holder.txtNaam = (TextView) convertView.findViewById(R.id.naam); 
    holder.txtWaarde = (TextView) convertView.findViewById(R.id.waarde); 

    convertView.setTag(holder); 
    } else { 
    holder = (ViewHolder) convertView.getTag(); 
    } 

    holder.txtNaam.setText(searchArrayList.get(position).getNaam()); 
    holder.txtWaarde.setText(searchArrayList.get(position).getWaarde()); 

    return convertView; 
    } 

static class ViewHolder { 
    TextView txtNaam; 
    TextView txtWaarde; 
    } 


}