2016-06-13 2 views
-1
나는이

Array + 하나 Listview + 하나 Listview items layout Xml + 하나 Class는 주문을 받아서 ArrayAdapter와로 목록보기를 부풀려

지금 내가 어떤 다른의 사용하지 않고 사용자 정의 ArrayAdapter를 사용하여 사용자 정의 ListViewArray 항목을 표시하려면, ArrayAdapter에서 연장 클래스 또는 메서드!

내가 지금은 BaseAdapter를 사용하려고 할 수 있습니다 내가 CursorAdapter를 사용하지만 ArrayAdapter와

+0

는 u는 지금까지 시도 중량? – Sush

+0

ArrayAdapter 클래스에 하나의 배열을 전달하여 맞춤 목록보기에 표시하려고합니다. –

+0

아니요! 내가 수동으로 항목을 정의하는 배열을 가지고 –

답변

1

작동하지 않을 수있는 방법.

어댑터 클래스 :

public class YourAdapter extends BaseAdapter { 

private Context mContext; 
private String yourArray[]; 

public YourAdapter (Context context, String data[]) { 
    mContext = context; 
    yourArray= data; 
} 

@Override 
public int getCount() { 
    return yourArray.length; 
} 

@Override 
public Object getItem(int position) { 
    return yourArray[position]; 
} 

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

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    ViewHolder holder; 

    if (convertView == null) { 
     //new item 
     convertView = LayoutInflater.from(mContext).inflate(R.layout.days_list_item, null); 
     holder = new ViewHolder(); 
     holder.numberOfDays = (TextView) convertView.findViewById(R.id.eventDays); 
     holder.sinceOrUntil = (TextView) convertView.findViewById(R.id.eventType); 
     holder.eventTitle = (TextView) convertView.findViewById(R.id.eventTitle); 
     holder.daysText = (TextView) convertView.findViewById(R.id.DaysText); 

     convertView.setTag(holder); 
    } else { 
     //reusing existing item 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    /* 
    *  Do you preparatory steps here, then assign result to below 
    */ 

    holder.numberOfDays.setText("text1"); 
    holder.sinceOrUntil.setText("text2"); 
    holder.eventTitle.setText("text3"); 

    return convertView; 
} 

private static class ViewHolder { 
    TextView numberOfDays; 
    TextView daysText; 
    TextView sinceOrUntil; 
    TextView eventTitle; 
} 
} 
+0

감사합니다. @Marat pls이 (가) 당신의 이메일을주세요. –

+0

@AbbasNikzad 죄송합니다. 왜 그런지 묻겠습니다. – Marat

관련 문제