そのため、FinderActivity.class でアダプターを実行すると、このエラーが発生します。
public class FinderActivity extends ListActivity
{
private List<String> itemsearchoptions = Arrays.asList(
new String[]
{
"Search Service Center","Search Showroom",
"Area Surveillance", "Nearest OAC Offices"
});
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.finder);
getListView().setAdapter(new FinderListAdapter(this, this.itemsearchoptions));//cause of error
}
これが私のFinderAdapterclassです:
public class FinderListAdapter extends BaseAdapter
{
Context context;
LayoutInflater inflater;
private int[]icons =
{
R.drawable.icon_service_center,
R.drawable.icon_car_showroom,
R.drawable.icon_radar,
R.drawable.icon_office
};
private List<String>options = null;
public FinderListAdapter(Context paramContext, List<String>paramList)
{
this.context = paramContext;
this.options = paramList;
this.inflater = LayoutInflater.from(paramContext);
}
@Override
public int getCount()
{
return this.options.size();
}
@Override
public Object getItem(int paramInt)
{
return this.options.get(paramInt);
}
@Override
public long getItemId(int paramInt)
{
return paramInt;
}
@Override
public View getView(int paramInt, View paramView, ViewGroup paramViewGroup)
{
String str = (String)this.options.get(paramInt);
if(paramView == null)
{
}
else
{
return paramView;
}
return paramViewGroup;
}
public boolean isEmpty()
{
return (this.options == null)||(this.options.size()==0);
}
private static class ViewHolder
{
ImageView finderIcon;
TextView finderText;
}
}
アイテムリストに LinearLayout を使用しました
このエラーに関する同様の問題をいくつか読みましたが、まだ概念を完全に理解していません。そのため、どんな助けでも大歓迎です。ありがとう
編集済み:申し訳ありませんがスタックトレースを忘れました
07-08 15:31:42.380: E/AndroidRuntime(4550): FATAL EXCEPTION: main
07-08 15:31:42.380: E/AndroidRuntime(4550): java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.widget.ListView.measureScrapChild(ListView.java:1166)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.widget.ListView.measureHeightOfChildren(ListView.java:1248)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.widget.ListView.onMeasure(ListView.java:1158)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.view.View.measure(View.java:15525)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.view.View.measure(View.java:15525)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.view.View.measure(View.java:15525)
07-08 15:31:42.380: E/AndroidRuntime(4550): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)