내 listview에 여러 레이아웃을 표시하려고합니다. 목록보기에서 세 항목 만 있고 각 행마다 다른 레이아웃이 있습니다. 다음은 오류를ListView에 여러 레이아웃로드 중
10-25 14:00:14.298: ERROR/AndroidRuntime(3102): java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams
10-25 14:00:14.298: ERROR/AndroidRuntime(3102): at android.widget.ListView.measureScrapChild(ListView.java:1117)
10-25 14:00:14.298: ERROR/AndroidRuntime(3102): at android.widget.ListView.measureHeightOfChildren(ListView.java:1200)
10-25 14:00:14.298: ERROR/AndroidRuntime(3102): at android.widget.ListView.onMeasure(ListView.java:1109)
10-25 14:00:14.298: ERROR/AndroidRuntime(3102): at android.view.View.measure(View.java:8172)
수있는 사람의 도움을 바랍니다의 충돌을 실행하고 제공하면서 나는 그
private class CompetitionDetailsAdapter extends ArrayAdapter<Article> {
public CompetitionDetailsAdapter(Context context, int textViewResourceId
) {
super(context, 0);
// TODO Auto-generated constructor stub
}
@Override
public int getCount() {
return 3;
}
@Override
public int getItemViewType(int position) {
return position;
}
@Override
public int getViewTypeCount() {
return 3;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
// TODO Auto-generated method stub
//return super.getView(position, convertView, parent);
LayoutInflater inflater=getLayoutInflater();
int type = getItemViewType(position);
switch(type)
{
case 0:
{
View headerCell = inflater.inflate(R.layout.rsscellheader, null);
ImageView imageView = (ImageView)headerCell.findViewById(R.id.headerCellImage);
TextView title = (TextView)headerCell.findViewById(R.id.txt_HeaderCellTitle);
TextView date = (TextView)headerCell.findViewById(R.id.txt_HeaderCellDate);
Activity activity = (Activity) getContext();
imageLoader.DisplayImage(appDeleg.getSelectedCompetition().getImage(), activity, imageView);
return headerCell;
//break;
}
case 1:
{
View webViewCell = inflater.inflate(R.layout.rsswebviewcell, null);
WebView webView = (WebView)webViewCell.findViewById(R.id.webView);
webView.loadData(appDeleg.getSelectedCompetition().getDescription(), "text/html", "utf-8");
return webViewCell;
}
case 2:
{
View buttonCell = inflater.inflate(R.layout.rssbuttoncell, null);
ImageButton btnWebView = (ImageButton)buttonCell.findViewById(R.id.btn_WebView);
return btnWebView;
}
}
return convertView;
}
}
에 사용하지만하고있는 코드는? 어떻게하면 안드로이드에서 이것을 할 수 있습니까? 감사
나는 당신의 잘못이 함께 시도 ... 당신이 목록에서 3 항목 이상을 넣어 위해 노력하고 있으며, 목록이 큰 경우 그것은 당신에게 실수를 보여주는 것보다 있다는이라고 생각
당신이 getCount에서 3을 반환하는 이유는()이다? 그리고 당신은 당신의 디자인 플라이를 공유 할 수 있습니까? 나는 당신이리스트 뷰를 구현할 필요가 없다고 생각합니다. –