Ich hatte diesen Fehler, wo es sagen würde, es kann Konstruktor Array Adapter nicht auflösen. Ich wollte darüber nachdenken, wollte aber sicherstellen, dass es notwendig war. Ich habe auch die toString-Methode in der item-Klasse überschrieben.Ist es erforderlich, eine benutzerdefinierte Array-Adapterklasse für Objekte in einer ArrayList zu erstellen?
public class Myfragment extends Fragment {
@Override
public View onCreateView( LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
MyApplication MyArraylist;
ArrayAdapter <MyItem> arrayAdapter;
MyItem item1 = new MyItem();
item1.setName("MyFirstHomework");
item1.setGrade(60);
item1.setCategory("Homework");
MyArraylist = new MyApplication();
MyArraylist.getItemsArrayList().add(item1);
arrayAdapter = new ArrayAdapter<MyItem>
(this,R.layout.Myview,MyArraylist); //THIS IS WHERE THE CONSTRUCTOR
ERROR IS
ListView v = (ListView) findViewById(R.id.MyXML);
v.setAdapter(arrayAdapter);
return inflater.inflate(R.layout.list_fragment,container, false);
}
}
Auch auf ListView findViewById sagt es kann Methode nicht auflösen. Ich habe jetzt stundenlang versucht. Irgendwelche Vorschläge?
public class MyApplication extends Application {
ArrayList<MyItem> MyArrayList;
public ArrayList<MyItem> getMyArrayList() {
MyArrayList = new ArrayList<MyItem>();
return MyArrayList;
}
}
'MyArraylist' ist Objekt von' MyApplication', 'MyApplication' ist ArrayList von Item? –
Sie müssen uns MyApplication zeigen. –
Müssten Sie nicht so etwas tun wie 'MyApplication MyArraylist = new MyApplication ()' um den richtigen Typ an den 'ArrayAdapter'-Konstruktor zu übergeben? (Das setzt voraus, dass 'MyApplication' eine' ArrayList' ist). –
br3nt