2016-09-20 42 views
1

我试图强制数字小键盘显示何时加载我的活动和EditText。这似乎有给here和其他地方的一个非常简单的答案:你说无法解析符号showsoftinput

EditText yourEditText= (EditText) findViewById(R.id.yourEditText); 
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT); 

精细即可。所以,我这样做,我包括进口:

import android.content.Context; 
import android.os.Bundle; 
import android.view.inputmethod.InputMethodManager; 
import android.widget.EditText; 

但是当我们到showSoftInput,工作室云红说“无法解析符号showSoftInput”。我在导入InputMethodManager时不应该得到那个符号吗? showSoftInput doesn't seem to be deprecated或任何东西。

回答

2

键盘是不开放,因为它需要一定的延迟,

关注这个代码

public class MainActivity extends AppCompatActivity { 

    private EditText editText; 
    private Handler handler = new Handler(); 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     editText = (EditText) findViewById(R.id.editText); 
     /* */ 

    handler.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      editText.requestFocus(); 
      InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); 
     } 
    },100); 
    } 
} 

和XML

<EditText 
    android:id="@+id/editText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:focusable="true" 
    android:inputType="number" 
    android:text=""> 

    <requestFocus></requestFocus> 
</EditText>