Machen Sie eine benutzerdefinierte android-ListView-adapter Anklickbar

Ich habe versucht, erstellen Sie eine clickable listview nimmt in einem string-array und ein paar Bilder und stellt Sie in einer textview style. So weit ich es geschafft haben, erstellen Sie ein listview-Steuerelement mit einzelnen Zeichenfolgen und Bilder, aber ich bin nicht sicher, wie die onClick-Methode, so dass die textviews anklickbar, um starten Sie neue Aktivitäten, etc.

Hier ist mein code bisher (Ohne XML):

public class MySimpleArrayAdapter extends ArrayAdapter<String> {
    private final Context context;
    private final String[] values;

    public MySimpleArrayAdapter(Context context, String[] values) {
    super(context, R.layout.activity_test2, values);
    this.context = context;
    this.values = values;
}

    /* Print a toast when a list item is clicked, don't know what to do */
 public void onClick() {
    switch (list item) {
    case 0:
        Toast.makeText(this.context, "Pressed!", Toast.LENGTH_LONG).show()
        break;
    }
            case 1:
                    etc....

} 

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View rowView = inflater.inflate(R.layout.activity_test2, parent, false);
    TextView textView = (TextView) rowView.findViewById(R.id.label);
    ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
    textView.setText(values[position]);

    String s = values[position];
    if (s.startsWith("Report a Road Delay")) {
        imageView.setImageResource(R.drawable.ic_menu_compose);
    } else if (s.startsWith("View Reported Delays")) {
        imageView.setImageResource(R.drawable.ic_menu_view);
    } else if (s.startsWith("Search a Road for Delays")) {
        imageView.setImageResource(R.drawable.ic_menu_search);
    } else if (s.startsWith("Update a Delay Report")) {
        imageView.setImageResource(R.drawable.ic_menu_edit);
    } else if (s.startsWith("Validate a Delay Report")) {
        imageView.setImageResource(R.drawable.ic_menu_mark);

    }
    return rowView;
  }
}

 public class MainActivity extends ListActivity {
public void onCreate(Bundle SavedInstanceState) {
    super.onCreate(SavedInstanceState);
    String[] values = new String[] { "Report a Road Delay",
            "View Reported Delays", "Search a Road for Delays",
            "Update a Delay Report", "Validate a Delay Report" };
    MySimpleArrayAdapter adapter = new MySimpleArrayAdapter(this, values);
    setListAdapter(adapter);

}

 }

Dies ist, wie es aussieht bisher:

Machen Sie eine benutzerdefinierte android-ListView-adapter Anklickbar

Alle, die ich im Grunde nicht verstehe, ist der onClick-Methode; welche Parameter braucht es, und wie zu bestimmen, welches Element geklickt wurde. Jede Hilfe würde geschätzt werden.

  • versuchen Sie mit gebucht-Lösung, die für Sie hilfreich.
InformationsquelleAutor Dan Coghlan | 2013-01-15
Schreibe einen Kommentar