2017-02-02 1 views
-5

Ich habe Snackbar in meiner Anwendung. Ich möchte Edittext in Snackbar hinzufügen, um einige Eingaben zu akzeptieren. Wie kann ich eine Edittext in Snackbar hinzufügen?Wie man edittext in Snackbar in Android programmgesteuert hinzufügen?

+0

Try [diese] (http://stackoverflow.com/questions/42384892/how-to-make-modification-android-snackbar-containing-with-layoutinflater-button) zu editText zu Snackbar mit Knopf und Antwort –

Antwort

0

Sie müssen die neue Ansicht aufblasen und sie zum Layout von snackBar hinzufügen.

// Make snackbar 
Snackbar snackbar = Snackbar.make(rootView, "", Snackbar.Snackbar.LENGTH_INDEFINITE); 
// Fetch the layout 
Snackbar.SnackbarLayout sLayout = (Snackbar.SnackbarLayout) snackbar.getView(); 
// remove the default textView 
TextView textView = (TextView) sLayout.findViewById(android.support.design.R.id.snackbar_text); 
textView.setVisibility(View.GONE); 


// Inflate custom view (have an edittext in this) 
View newView = mInflater.inflate(R.layout.edittext_layout, null); 

sLayout.setView(newView,0); 
1
//Custom layouts are discouraged due to the intended use of Snackbars,but this will do your task! 
    LinearLayout linearLayout = (LinearLayout)findViewById(R.id.linear_layout_root); 

    final Snackbar snackbar = Snackbar.make(linearLayout, "Hey Whats Up", Snackbar.LENGTH_INDEFINITE); 
    Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout) snackbar.getView(); 

    // Inflate your custom view with an Edit Text 
    LayoutInflater objLayoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View snackView = objLayoutInflater.inflate(R.layout.custom_snac_layout, null); // custom_snac_layout is your custom xml 

    layout.addView(snackView, 0); 
    snackbar.show(); 

enter image description here

+0

@Priyanka G haben Sie diese Antwort? –

+0

Ja. Es klappt. Es spart mir Zeit. Danke. –

+0

@Priyanka G Wenn es funktioniert, können Sie es als die angenommene Antwort markieren :) –

Verwandte Themen