ArrayAdapter + layout.simple_list_item_multiple_choice

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • ArrayAdapter + layout.simple_list_item_multiple_choice

    Moin zusammen!

    1. Frage)
    Verstehe ich es richtig, dass ich mit dem folgenden Code:
    Eine Liste vom Typ "Customer", eine Klasse die ich selbst definiert habe, erstelle und diese dann über einen ArrayAdapter vom Typ "Customer" an meine ListView "customerListView" koppel?

    2. Frage)
    Wieso lautet der Code in Zeile 2:
    List<Customer> emptyListForInitialization = new ArrayList<>();
    und nicht
    List<Customer> emptyListForInitialization = new List<>();

    3. Frage)
    Ich würde gerne das Layout "simple_list_item_multiple_choice" anpassen und habe mir ein eigenes Layout definiert "layout.custom_customer_layout".
    Damit ich diese aber verwenden kann, müsste ich Zeile 8 auskommentieren.
    Nun habe ich dann in Zeile 5 das "simple_list_item_multiple_choice" und in Zeile 12 mein "layout.custom_customer_layout". Muss ich wirklich an beiden Stellen ein Layout vorgeben? Zum Beispiel beide male mein "layout.custom_customer_layout"? Irgendwie sieht das nämlich etwas seltsam aus.

    4. Frage)
    In meinem "layout.custom_customer_layout" ist ein CheckedTextView-Widget wie im "simple_list_item_multiple_choice". Nur bekomme ich es leider nicht hin, das es wie im "simple_list_item_multiple_choice" markiert wird, sobald ich länger gedrückt halte. Wie müsste ich da meinen Code anpassen?


    Java-Quellcode

    1. private void initializeCustomerListView() {
    2. List<Customer> emptyListForInitialization = new ArrayList<>();
    3. customerListView = (ListView) findViewById(R.id.listview_customers);
    4. ArrayAdapter<Customer> customerArrayAdapter = new ArrayAdapter<Customer> (this, android.R.layout.simple_list_item_multiple_choice,emptyListForInitialization) {
    5. @Override
    6. public View getView(int position, View convertView, ViewGroup parent) {
    7. View view = super.getView(position, convertView, parent);
    8. /*
    9. View view = getLayoutInflater().inflate(R.layout.custom_customer_layout,null);
    10. TextView textViewName = (TextView)view.findViewById(R.id.textView20);
    11. textViewName.setText(this.getItem(position).getCustomerName());
    12. */
    13. return view;
    14. }
    15. };
    16. customerListView.setAdapter(customerArrayAdapter);
    17. customerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    18. @Override
    19. public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
    20. }
    21. });
    22. }
    Alles anzeigen