[OFFEN] Tastaturfeld nach Click schließen

D

DMD-OL

Neues Mitglied
0
hi jungs/mädels
ich hoffe, meine frage ist richtig eingeordnet:
ich möcht in meinem code das tastenfeld wieder schließen.
das tastenfeld stellt sich aber echt dumm an bei meinem code!
Code:
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mDatabaseHelper = new DatabaseHelperWorkday(this);

        BottomPanelButtonModel bottomPanelButtonModel = new BottomPanelButtonModel();
        bottomPanelButtonModel.setLeftButtonModel(getResources().getString(R.string.btn_back), new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent switchUI = new Intent(getApplicationContext(), UIS_Main.class);
                startActivity(switchUI);
                overridePendingTransition(R.anim.go_back_in, R.anim.go_back_out);
            }
        });
        bottomPanelButtonModel.setRightButtonModel(getResources().getString(R.string.delete), new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                InputMethodManager inputManager = (InputMethodManager)
                        getSystemService(Context.INPUT_METHOD_SERVICE);
                inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
                        InputMethodManager.HIDE_NOT_ALWAYS);
                
                if (mContentView.getWorkdayInformation().getBvNumber() == null || mContentView.getWorkdayInformation().getBvNumber().length() == 0) {
                    CustomAltertDialog.createMessageOk(UIS_ClearData.this, getApplicationContext().getResources().getString(R.string.dlg_create_input_complete_title),getApplicationContext().getResources().getString(R.string.dlg_bv_number_msg)).show();
                } else {
                    if (deleteData()) {
                        Intent switchUI = new Intent(getApplicationContext(), UIS_Main.class);
                        startActivity(switchUI);
                    } else {
                        CustomAltertDialog.createMessageOk(UIS_ClearData.this, getResources().getString(R.string.dlg_clear_workday_fail_title),
                                getResources().getString(R.string.dlg_clear_workday_fail_msg)).show();
                    }
                }
            }
        });

        mContentView = new ViewClearData(this, bottomPanelButtonModel);

        setContentView(mContentView);
      }
wie kann ich auch einem dummen tastenfeld das beibringen???
 
Hallo DMD,

also ich mache es so , und das sieht ein wenig anders aus :)

Code:
        try
        {
            InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
        }
        catch (Exception t) {}
 
Das funktioniert bei mir nicht :(
Code:
@Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mDatabaseHelper = new DatabaseHelperWorkday(this);

        BottomPanelButtonModel bottomPanelButtonModel = new BottomPanelButtonModel();
        bottomPanelButtonModel.setLeftButtonModel(getResources().getString(R.string.btn_back), new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent switchUI = new Intent(getApplicationContext(), UIS_Main.class);
                startActivity(switchUI);
                overridePendingTransition(R.anim.go_back_in, R.anim.go_back_out);
            }
        });
        bottomPanelButtonModel.setRightButtonModel(getResources().getString(R.string.delete), new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                try
                {
                    InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
                    if (mContentView.getWorkdayInformation().getBvNumber() == null || mContentView.getWorkdayInformation().getBvNumber().length() == 0) {
                        CustomAltertDialog.createMessageOk(UIS_ClearData.this, getApplicationContext().getResources().getString(R.string.dlg_create_input_complete_title),getApplicationContext().getResources().getString(R.string.dlg_bv_number_msg)).show();
                    } else {
                        if (deleteData()) {
                            Intent switchUI = new Intent(getApplicationContext(), UIS_Main.class);
                            startActivity(switchUI);
                        } else {
                            CustomAltertDialog.createMessageOk(UIS_ClearData.this, getResources().getString(R.string.dlg_clear_workday_fail_title),
                                    getResources().getString(R.string.dlg_clear_workday_fail_msg)).show();
                        }
                    }
                }
                catch (Exception t) {}

            }
        });

        mContentView = new ViewClearData(this, bottomPanelButtonModel);

        setContentView(mContentView);
      }
liegt es daran, daß ich keine .xml-seiten verwende? Hab nämlich alles in .java gemacht.
 
öhm , nur zur Info -

das Ganze ist auch Device-Abhängig - nimm mal was Anders

UND - nimm das Ganze mal aus dem Click heraus und schau mal , ob es ÜBERHAUPT geht
 
also einfach über dem onClick einfügen?
 
ja wo du willst - erst mal ausprobieren , ob die Funktion des Hides überhaupt auf dem Device dort funtioniert.

Wenn ja , dann solltest du diese zwei Zeilen ggf in einem Thread ausführen ( mit verzögerung)
oder ein runUIThread
 
läuft net
Code:
@Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mDatabaseHelper = new DatabaseHelperWorkday(this);

        BottomPanelButtonModel bottomPanelButtonModel = new BottomPanelButtonModel();
        bottomPanelButtonModel.setLeftButtonModel(getResources().getString(R.string.btn_back), new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent switchUI = new Intent(getApplicationContext(), UIS_Main.class);
                startActivity(switchUI);
                overridePendingTransition(R.anim.go_back_in, R.anim.go_back_out);
            }
        });
        bottomPanelButtonModel.setRightButtonModel(getResources().getString(R.string.delete), new View.OnClickListener() {

            //InputMethodManager imm = (InputMethodManager) mActivity.getSystemService(Context.INPUT_METHOD_SERVICE);
            //imm.hideSoftInputFromWindow(mActivity.getCurrentFocus().getWindowToken(), 0);
            InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);

            @Override
            public void onClick(View v) {

                if (mContentView.getWorkdayInformation().getBvNumber() == null || mContentView.getWorkdayInformation().getBvNumber().length() == 0) {
                    CustomAltertDialog.createMessageOk(UIS_ClearData.this, getApplicationContext().getResources().getString(R.string.dlg_create_input_complete_title),getApplicationContext().getResources().getString(R.string.dlg_bv_number_msg)).show();
                } else {
                    if (deleteData()) {
                        imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
                        Intent switchUI = new Intent(getApplicationContext(), UIS_Main.class);
                        startActivity(switchUI);
                    } else {
                        CustomAltertDialog.createMessageOk(UIS_ClearData.this, getResources().getString(R.string.dlg_clear_workday_fail_title),
                                getResources().getString(R.string.dlg_clear_workday_fail_msg)).show();
                    }
                }
            }
        });

        mContentView = new ViewClearData(this, bottomPanelButtonModel);

        setContentView(mContentView);
      }
 
s.o.
 

Ähnliche Themen

S
  • SlayNox
Antworten
0
Aufrufe
685
SlayNox
S
5
Antworten
22
Aufrufe
1.420
590239
5
G
Antworten
5
Aufrufe
871
jogimuc
J
Zurück
Oben Unten