i got error to implement hide keyboard when button click, anyone know how to fix that? actually code error in getSystemService and getWindowsToken
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_calculator, container, false);
Button hitung = (Button) rootView.findViewById(R.id.hitung);
final EditText height = (EditText)rootView.findViewById(R.id.height);
final EditText weight = (EditText)rootView.findViewById(R.id.weight);
InputMethodManager imm = InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(EditText.getWindowToken(), 0);
final TextView result = (TextView)rootView.findViewById(R.id.result);
final TextView finalresult = (TextView)rootView.findViewById(R.id.finalresult);
finalresult.setMovementMethod(new ScrollingMovementMethod());
hitung.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
..........
}
you are using Fragment so write like getActivity().getSystemService(Context.INPUT_METHOD_SERVICE)
Reason for the same :
An Activity extends Context, a Fragment does not. Hence, you first need to get a reference to the Activity in which the Fragment is contained
Edit
for the other error you mentioned in the comment you can use
getView().getWindowToken()
and the hide method should be called inside your button's onClick() method like
imm.hideSoftInputFromWindow(getView().getWindowToken(), 0);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With