我创建了一个简单的适配器,以便对我的自动完整文本视图进行成本化,并且当用户点击自动完成文本时,我想隐藏键盘。
我已经创建了一个隐藏键盘的功能,但我在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;
}
}
所以,我尝试使用&#34; context.getActivity&#34;但是没有用,我收到了这个警告:
The method getActivity() is undefined for the type Context
有没有办法做我想做的事?
答案 0 :(得分:0)
尝试将您的上下文转换为活动?
类型hideSoftKeyboard((Activity)context);