2014-12-18 5 views
3

Проверено на HTC One V андроида 4.0.3EditText сообщение об ошибке отображается неправильно

Активность:

import android.support.v7.app.ActionBarActivity; 
    import android.os.Bundle; 
    import android.widget.EditText; 


    public class MainActivity extends ActionBarActivity { 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

      EditText editText = (EditText) findViewById(R.id.editText); 
      editText.setError("Error msg"); 
     } 

    } 

Xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <LinearLayout 
      android:layout_gravity="bottom" 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/editText" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" /> 

      <Button 
       android:id="@+id/button" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" /> 
      </LinearLayout> 
    </FrameLayout> 

шаги:

enter image description here enter image description here enter image description here

Ожидаемое поведение: сообщение об ошибке отображается в правильном положении. Кто-нибудь знает, как это исправить? Спасибо!

+1

Вот ваш показать код ошибки. xml не имеет этого, Поучите свой Java-код. –

+0

done ............ – Sinigami

+0

попробуйте добавить 'android: windowSoftInputMode =" adjustResize "' в вашу активность в файле манифеста –

ответ

0

Попробуйте это: попробовать это:

InputMethodManager im = (InputMethodManager) getSystemService(Service.INPUT_METHOD_SERVICE); 

/* 
Instantiate and pass a callback 
*/ 
SoftKeyboard softKeyboard; 
softKeyboard = new SoftKeyboard(mainLayout, im); 
softKeyboard.setSoftKeyboardCallback(new SoftKeyboard.SoftKeyboardChanged() { 

@Override 
    public void onSoftKeyboardHide() 
{ 
     // Here request your errorMessage 
    } 
@Override 
    public void onSoftKeyboardShow() 
{ 
     // Here request your errorMessage 
    } 
}); 
Смежные вопросы