2012-09-21 44 views
0

我有一个alertdialog,我表明,当用户点击了一个按钮:键盘没有出现自动

public class CommentDialog { 

public static void buildDialog(final Context context, 
     final String identifier, Boolean automaticKeyboard, 
     final int idToUpdate) { 


    AlertDialog.Builder alert = new AlertDialog.Builder(context); 
    alert.setIcon(ViewBuilder.getDrawableFromDB("text.png")); 
    alert.setTitle("Commentaar"); 

    // Edittext configuration// 
    final EditText input = new EditText(context); 

    String currentComment = EnteredValues.getInstance() 
      .getValueForIdentifier(identifier); 

    if (currentComment != null) { 
     input.setText(currentComment); 
     input.setSelection(currentComment.length()); 
    } 

    input.setHint("Gelieve uw commentaar in te voeren."); 

    Display display = ((WindowManager) context 
      .getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
    int width = display.getWidth(); 

    input.setMinimumWidth(width); 
    input.setMaxLines(3); 
    input.setImeOptions(EditorInfo.IME_ACTION_DONE); 
    input.setFocusableInTouchMode(true); 
    input.requestFocus(); 


    final InputMethodManager inputMethodManager = (InputMethodManager) context 
      .getSystemService(Context.INPUT_METHOD_SERVICE); 
    inputMethodManager.showSoftInput(input, 
      InputMethodManager.SHOW_IMPLICIT); 

    // Add edittext to dialog 
    alert.setView(input); 

    // Set actions of dialog 
    alert.setPositiveButton("Bewaren", 
      new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int whichButton) { 

        String value = input.getText().toString(); 

        EnteredValues.getInstance().addValue(identifier, value); 

        View v = ShowScreenActivity.mActivity 
          .findViewById(idToUpdate); 
        EditText e = ((EditText) v); 
        e.setText(value); 
        e.setSelection(e.getText().length()); 

        return; 
       } 
      }); 

    alert.setNegativeButton("Cancel", 
      new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 

        return; 
       } 
      }); 

    alert.show(); 
} 
} 

我已经试过几件事情,但键盘不会自动显示出来。 它似乎也取决于设备以及与蜂窝星系标签10.1,键盘显示。但与银河gio 2.3.6它不..

任何想法?

+0

你试图使用SHOW_FORCE?它的屏幕尺寸/设备特定和'android:imeOptions'(带有flagNoFullscreen),可能你应该保持原样,因为系统对话框(例如wifi连接)可能表现相同。 – sandrstar

回答

0

这或许可以帮助您在清单尝试像

<activity 
      android:name=".YourActivity" 
      android:windowSoftInputMode="stateHidden"> </activity>