ClassCastException: android.widget de.LinearLayout$LayoutParams
Donc, je reçois ce message d'erreur lors de l'exécution d'un adaptateur 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
}
Voici Mon 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;
}
}
J'ai utilisé LinearLayout sur la liste
J'ai lu plusieurs des problèmes similaires à propos de cette erreur, mais pas encore pleinement comprendre le concept. Ainsi, toute aide sera appréciée. grâce
édité : désolé j'ai oublié le stacktrace
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)
publier vos stacktrace aussi...
vérifiez vos classes importées
BTW: pour moi, votre
vérifiez vos classes importées
BTW: pour moi, votre
getView()
n'a pas de sens.OriginalL'auteur Karate_Dog | 2013-07-08
Vous devez vous connecter pour publier un commentaire.
Utilisation
android.widget.AbsListView.LayoutParams
au lieu de laandroid.widget.LinearLayout.LayoutParams
dans vos importations.Une ClassCastException stacktrace est assez descriptif...
pouvez-vous aider stackoverflow.com/questions/30951608/...
OriginalL'auteur WarrenFaith
Pour le reste d'entre vous qui ont le même problème. S'il vous plaît au premier, de réparer votre méthode getView.
Essayer de le faire comme ça.
Cela peut résoudre le
android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
erreur.Confiance en moi, j'ai juste face à ce problème précis, mais j'ai réussi à le résoudre de cette façon.
OriginalL'auteur Azizi Musa