我试图做一个列表弹出(名为下拉列表)窗口内我的alertdialog在我的片段。为什么 - >“ListPopupWindow:无法调用getMaxAvailableHeightMethod ....使用公共版本”?
但设置锚和适配器后,我收到错误说:
“I/ListPopupWindow:上PopupWindow无法调用getMaxAvailableHeightMethod(查看,整型,布尔型)采用了公版。”
如何解决这个问题?请帮忙。
下面是我的代码:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.dblistview, container, false);
final MyDBHandler dbHandler = new MyDBHandler(getActivity(), null,null,1);
DBReader dbReader = new DBReader(getActivity());
ListView dbListView = (ListView) v.findViewById(R.id.dbListing);
if (dbHandler.dbSelectQuery("*",null) != null){
dbCustomAdapter dbListViewAdapter = new dbCustomAdapter(getActivity(),
R.layout.dbadapterview, dbHandler.dbSelectQuery("*",null));
dbListView.setAdapter(dbListViewAdapter);
dbListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int i, long l) {
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
TextView goodTV= (TextView) v.findViewById(R.id.goodTV);
final ListPopupWindow droplist = new ListPopupWindow(getContext());
droplist.setAnchorView(goodTV);
ArrayList<String> disntictList = dbHandler.selectDisntictQuery(MyDBHandler.COLUMN_party);
ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(),android.R.layout.simple_list_item_1,disntictList);
droplist.setAdapter(adapter);
for (String item : disntictList){
Log.i("Item name", item);
}
View mView = getActivity().getLayoutInflater().inflate(R.layout.listview_filterbox,null);
mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
droplist.show();
} catch (Exception e) {
Toast.makeText(getContext(), "Height null?",Toast.LENGTH_LONG).show();
}
}
});
builder.setCancelable(true);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(getContext(), "Ok clicked",Toast.LENGTH_LONG).show();
}
});
builder.setView(mView);
AlertDialog dialog = builder.create();
dialog.show();
}
});
} else {
Toast.makeText(getActivity(), "Database currently empty...",Toast.LENGTH_LONG).show();
}
return v;
}