Android ListView's setOnItemClickListener from PopupWindow not called
android, java, popupwindow
Solution
Just one minor change in your code and BOOOM your code will listen to you list click event
final PopupWindow popupWindow = new PopupWindow(popupView,
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,true);
You forget to mention focusable setting true in PopupWindow constructor.
Problem
I'm trying to show a ListView from a PopupWindow. but when I'm try to call ListView's setOnItemClickListener nothing to haapen. Here It Java file PopupWindowActivity.java ``` public class PopupWindowActivity extends Activity { String[] data = { "DATA 1", "DATA 2", "DATA 3", "DATA 4", "DATA 5", "DATA 6" }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a); final Button btnOpenPopup = (Button) findViewById(R.id.openpopup); btnOpenPopup.setOnClickListener(new Button.OnClickListener() { public void onClick(View arg0) { LayoutInflater layoutInflater = (LayoutInflater) getBaseContext() .getSystemService(LAYOUT_INFLATER_SERVICE); View popupView = layoutInflater.inflate(R.layout.main, null); final PopupWindow popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); ListView listView = (ListView) popupView.findViewById(R.id.listView1); listView.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1,data)); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub System.out.println("Item Clicked"); popupWindow.dismiss(); } }); popupWindow.showAsDropDown(btnOpenPopup, 20, -5); } }); } ``` } Here it is first xml file a.xml ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/openpopup" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Open Popup Window" /> </LinearLayout> ``` Here it inflate xml file main.xml ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/recording" android:orientation="vertical" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="30sp" android:layout_marginLeft="30sp" android:layout_marginRight="30sp" android:layout_marginTop="100sp" > <ListView android:id="@+id/listView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:cacheColorHint="#00000000" > </ListView> </RelativeLayout> </LinearLayout> ``` What am I doing wrong? Thanks