【发布时间】:2015-10-26 19:34:52
【问题描述】:
我使用 Windows 管理器来显示巨大的列表视图。这是我使用的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LayoutInflater ltInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View view = ltInflater.inflate(R.layout.my_layout, null, false);
ListView lv = (ListView) view.findViewById(R.id.ext_fill_list);
mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.RIGHT | Gravity.TOP;
mWindowManager.addView(view, params);
ArrayList<String>mItems = new ArrayList<String>(Arrays.asList(ITEMS));
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, mItems);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.d("ACC", "item clicked");
}
});
}
一切正常,但 OnItemClickListener 不起作用。如何解决这个问题?
【问题讨论】:
-
我相信这应该会有所帮助stackoverflow.com/a/22705803/706833
标签: android listview overlay android-windowmanager