I am new to android and i am trying to integrate auto complete text view
inside popup window. But the auto complete action not working inside the popup window. If i
I faced the same problem but I end up using parent activity to display item in popup window.You can use dialog to solve this problem, but if you are insist on popupwindow. Then, this is how it gonna works.
1.create autocompletetextview in your parent activity,place it anywhere where you want to display list and make visibility to gone.
2.Now In popupwindow, when you call textwatcher or textchange, set that data adapter to parent autocomplete text view instead of popupwindow autocomplete textview and set visibility to visible.
3.It will display list of item as you type any character.
Hope helped!
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my);
final Button btnOpenPopup = (Button)findViewById(R.id.openpopup);
btnOpenPopup.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
LayoutInflater layoutInflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.activity_popup, null);
final PopupWindow popupWindow = new PopupWindow(
popupView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, true);
popupView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
final EditText text = (EditText)popupView.findViewById(R.id.editText); // to write Review notes
final TextView txtRatingValue = (TextView)popupView.findViewById(R.id.txtRatingValue); // Rating Value
final RatingBar ratingBar = (RatingBar)popupView.findViewById(R.id.ratingBar);
ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
txtRatingValue.setText(String.valueOf(rating));
}
});
// popupView.addListenerOnRatingBar();
Button ok = (Button )popupView.findViewById(R.id.ok); // Database Codes to store the apps rating and review Data
ok.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MyActivity.this, "Reminder Nikhil Keshri's Database code to Be added here....", Toast.LENGTH_LONG).show();
}
});
Button clear = (Button)popupView.findViewById(R.id.clear); // clearing button
clear.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
text.setText("");
// txtRatingValue.setText("0.0");
}
});
// text.setBackgroundColor();
Button close = (Button)popupView.findViewById(R.id.close); // closing the popup window
close.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
popupWindow.dismiss();
}
});
popupWindow.showAsDropDown(btnOpenPopup, -50, -70);
}});
}