【问题标题】:cannot resolve method 'getwindow()' in Activity无法解析 Activity 中的方法“getwindow()”
【发布时间】:2017-10-02 18:53:37
【问题描述】:

我正在尝试将这一行添加到我的 Activity builder.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);

但我发现这个错误无法解析方法'getwindow'

我想像这样添加我的代码

        NewGuestCheck.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                AlertDialog.Builder builder = new AlertDialog.Builder(TabsActivity.this);
                builder.setTitle("Insert Table Name");
                // Set up the input
                final EditText input = new EditText(TabsActivity.this);
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(input, InputMethodManager.SHOW_IMPLICIT);
// Specify the type of input expected; this, for example, sets the input as a password, and will mask the text
                input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_CLASS_TEXT);
                builder.setView(input);
                // Set up the buttons
                builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        final String Table_Name = input.getText().toString();
                        AlertDialog.Builder builder = new AlertDialog.Builder(TabsActivity.this);
                        builder.setTitle("Insert number of Covers");
                        // Set up the input
                        final EditText input2 = new EditText(TabsActivity.this);
// Specify the type of input expected; this, for example, sets the input as a password, and will mask the text
                        input.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_CLASS_NUMBER);
                        builder.setView(input2);
                        // Set up the buttons
                        builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                String Cover_check = input2.getText().toString();
                                TablesFragment.Check_Items = ConnectionClass.Ret_dt("Select * From ChecksItems Where Check_ID = 0");
                                if (!TablesFragment.Check_Items.containsKey("Change_Temp")) {
                                    if (TablesFragment.Check_Items.size() > 0) {
                                        ArrayList<Object> Valrows = new ArrayList<Object>();
                                        if (TablesFragment.Check_Items.get("Item_ID").size() > 0) {
                                            for (int i = 0; i < TablesFragment.Check_Items.get("Item_ID").size(); i++) {
                                                Valrows.add("");
                                            }
                                        }
                                        TablesFragment.Check_Items.put("Change_Temp", Valrows);
                                    }
                                }
                                if (Integer.parseInt(Cover_check) > 0) {
                                    String st = ConnectionClass.Ret_Col("Select  Max (CheckSerail) AS Ser From Checks_V where Officer = 0 AND OutLet_ID = " + ConnectionClass.OutletID + " And Rest_ID_Active = " + ConnectionClass.Rest_ID);
                                    if (st.trim() == "")
                                        st = "0";
                                    int Check_Serial = Integer.parseInt(st) + 1;
                                    long Check_ID = Long.parseLong(ConnectionClass.SelectNewIDCheck());
                                    st = "insert into Checks .......
                                }
                            }
                        });
                        builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.cancel();
                            }
                        });

                        builder.show();
                    }
                });
                builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.cancel();
                    }
                });
                builder.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
                builder.show();

因为我需要从这种方法中,当警报对话框启动时,键盘会自动启动,我不需要触摸编辑文本来显示键盘 对不起,如果有任何事情不清楚,对不起我的英语不好 希望这个案子可以解决

顺便说一下活动的样子

public class TabsActivity extends AppCompatActivity {

【问题讨论】:

    标签: java android


    【解决方案1】:

    通过提供任何视图 reference.ex 来调用 getWindow()

        getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
    

    【讨论】:

    • 感谢您的帮助,但我这里仍然有错误
    【解决方案2】:

    StackOverflow 上也有类似的问题。您需要在 Dialog 类上调用 getWindow()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      • 2012-10-29
      • 2019-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多