2016-09-20 46 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>