0
我創建了一個簡單的適配器,以便自動完成我的自動完成文本視圖,並且我想在用戶單擊自動完成文本時隱藏鍵盤。Android - 在SimpleAdapter上隱藏鍵盤
我已經創建了一個隱藏de鍵盤的函數,但是我在SimpleAdapter上使用它有一些問題,我只需要獲取當前活動來調用函數。
隱藏鍵盤功能在這裏:
public static void hideSoftKeyboard(Activity activity) {
InputMethodManager inputMethodManager = (InputMethodManager) activity
.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus()
.getWindowToken(), 0);
}
SimpleAdapter代碼:
public class ACAdapter extends SimpleAdapter {
Context context;
public ACAdapter(Context context, List<? extends Map<String, ?>> data,
int resource, String[] from, int[] to) {
super(context, data, resource, from, to);
// TODO Auto-generated constructor stub
}
public View getView(final int position, final View convertView,
final ViewGroup parent) {
View v = super.getView(position, convertView, parent);
final String id = (String) ((Map) getItem(position))
.get(EventsFragment.ITEM_SECTIONID);
v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
GetSpots task = new GetSpots();
task.execute(id);
EventsFragment.refresh = false;
EventsFragment.loading_bg.setVisibility(View.VISIBLE);
hideSoftKeyboard(context.getActivity());
}
});
return v;
}
}
所以,我試圖用 「context.getActivity」,但沒有工作,我收到這樣的警告:
The method getActivity() is undefined for the type Context
有沒有辦法做我想要的?
沒有工作「的方法hideSoftKeyboard(活動)是未定義的類型新View.OnClickListener(){}」 –
是現在工作很好,謝謝 –
@RúbenDias提醒一下,要小心'activity.getCurrentFocus()'因爲這可能會返回'null' – user2234894