what should i do???
Correct your code.
UnsupportedOperationException: addView(View, LayoutParams) is not
supported in AdapterView
A subclass of AdapterView like a ListView can’t have children manually added either in the layout file or added in code. So if you have this in one of your layouts:
<ListView // .. other attributes>
<// other views <-- notice the children of the ListView tag
</ListView>
don’t do it, as this will call the addView method of ListView, throwing the exception. Instead use:
<ListView // .. other attributes />
< // other views
You also can’t use any of the addView methods of ListView in code like this:
listViewReference.addView(anotherView); // <-- don't do it
Also, if you use the LayoutInflater.inflate method in the code of the Activity or the adapter(its getView method), don’t pass the ListView as the second parameter. For example, don’t use:
convertView = inflator.inflate(R.layout.child_rows, parent);
as in Tamilarasi Sivaraj’s answer as that will throw the exception again. Instead use:
convertView = inflator.inflate(R.layout.child_rows, parent, false);
Related to the exception you posted in the question, it appears you use the setText method with an int(one of the s or i arrays being an int array). The problem is that in this case TextView will think you’re trying to set the text using a string resource like this R.string.astring. The int you pass is not a string resource so an exception will be thrown. If s or i is an int and you’re trying to show it in the TextView use this instead:
tv.setText(String.valueOf(s[position])); // assuming s is the int array