ich Hilfe bin auf der Suche Nachricht auf Dialogfeld anzuzeigen, indem Sie Elemente aus Listview Ein Klick .. Beispiel: Wie benutzerdefinierte Nachricht auf das Dialogfeld Listview-Elemente anzuzeigen
Antwort
vielleicht etwas ausführlicher (Code-Snippet) könnte hier hilfreich sein, um auf Ihre Anfrage zu antworten. Aber ich werde hier eine verallgemeinerte Lösung anbieten.
Auf der Aktivität/Fragment Sie Ihre Listenansicht initialisiert, Sie Listviews setOnItemClickListener Methode und überschreiben die AdapterViews onItemClick Methode, um Ihre Listenposition Position bekommen verwenden können:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
/*listAdapter is the adapter for your listView and ListItem
represents individual item model for the list*/
ListItem listItem= listAdapter.getItem(i);
if(listItem!=null){
//show your dialog message according to listItem here
}
}
});
Wenn Sie mit etwas Adapter zu füllen Ihre Listenansicht
public class DemoListView extends AppCompatActivity implements ListAdapter.PlaceClickInterface {
ListView listView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_demo_list);
List<String> places = new ArrayList<>(Arrays.asList("New york","washington","london"));
listView = (ListView)findViewById(R.id.list_view_demo);
ListAdapter adapter = new ListAdapter(places , this) ;
listView.setAdapter(adapter);
}
@Override
public void onPlaceClick(int position) {
Log.v("DemoListView" , "position : "+position) ;
//show dialog here with Alert dialog builder or ListFragment class with custom UI
}
}
Extend Liste Adapter wie ArrayAdapter oder BaseAdapter:
In diesem Adapter erstellen ein Schnittstelle, die in der Aktivität (DemoListView) implementiert werden kann, in der das Dialogfeld angezeigt werden soll.
In der implementierten Methode onPlaceClick() in DemoListView erstellen und zeigen Sie das Dialogfeld
public class ListAdapter extends BaseAdapter{
List<String> mPlaces ;
Context mContext ;
LayoutInflater mInflater ;
PlaceClickInterface mPlaceClickInterface;
public ListAdapter(List places , DemoListView demoListView) {
this.mContext = demoListView.getBaseContext() ;
this.mPlaces = places ;
this.mInflater =(LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.mPlaceClickInterface = (PlaceClickInterface) demoListView;
}
@Override
public int getCount() {
return mPlaces.size();
}
@Override
public Object getItem(int position) {
return mPlaces.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item_list_data, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.bind(holder ,position);
return convertView ;
}
private class ViewHolder{
TextView places ;
ViewHolder(View view){
this.places = (TextView) view.findViewById(R.id.list_place);
}
// used to populate the list with list item and attach click listener on each item
void bind(ViewHolder holder ,final int position){
holder.places.setText(mPlaces.get(position));
holder.places.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mPlaceClickInterface.onPlaceClick(position);
}
});
}
}
public interface PlaceClickInterface {
void onPlaceClick(int position) ;
}
}
- 1. Pushpad oder Web Push-Benachrichtigung, wie benutzerdefinierte Dialogfeld Nachricht
- 2. Prevent Benutzerdefinierte Nachricht Dialog (ein modales Dialogfeld) Fokusverlust in WPF
- 3. Über benutzerdefinierte Dialogfeld
- 4. Zugriff auf das benutzerdefinierte Fußzeilen-Dialogfeld von Excel mit VBA
- 5. WPF benutzerdefinierte Fehlerbehandlung Dialogfeld?
- 6. Delphi fmx blockierte Nachricht Dialogfeld
- 7. Get timePicker-Wert ohne anzuzeigen timePicker-Dialogfeld
- 8. benutzerdefinierte Dialogfeld in eckigen 2
- 9. Intent überlappt das Dialogfeld?
- 10. Vollständig benutzerdefinierte Dialogfeld in Android
- 11. Listview-Objekt, um benutzerdefinierte Dialogfeld
- 12. Das benutzerdefinierte Android-Dialogfeld zeigt zusätzlichen Speicherplatz an.
- 13. Verhindern, dass das JavaFX-Dialogfeld geschlossen wird
- 14. Wie Bootbox zu schließen, wenn benutzerdefinierte Dialogfeld verwenden
- 15. Öffnen Sie das Dialogfeld auf GridView klicken
- 16. Wie erzwinge ein Hyperlink, um das Öffnen/Speichern-Dialogfeld anzuzeigen, anstatt es im Browser zu öffnen?
- 17. Admin auf Rest zeigen benutzerdefinierte Nachricht
- 18. Block-UI-Thread und nicht das Etikett Nachricht anzuzeigen
- 19. iOS: FBSDKShareDialog benutzerdefinierte Nachricht
- 20. Benutzerdefinierte Nachricht laravel Validierung
- 21. Rufen Sie benutzerdefinierte Dialogfeld in Adapterklasse
- 22. Excel VBA Benutzerdefinierte Dialogfeld Abbrechen Schaltfläche Code
- 23. Wie das Hauptformular auf Schaltfläche anklickt in JQuery-Dialogfeld einreichen
- 24. Java android benutzerdefinierte Dialogfeld Schaltfläche passt nicht
- 25. Dialogfeld Titel
- 26. Validates_overlap benutzerdefinierte Nachricht?
- 27. Gibt es eine andere Möglichkeit, Dialogfeld dynamisch anzuzeigen
- 28. jQuery ui Dialogfeld benutzerdefinierte schließen Funktionen
- 29. Wie installiere ich das Dialogfeld "Pre-fill"?
- 30. Benutzerdefinierte numerische Formatzeichenfolge, um immer das Zeichen anzuzeigen
Sie können außer Kraft setzen onItemClickListener() und basierend auf der Position geklickt können Sie benutzerdefinierten Dialog aufblasen – Swarnveer