I have an arabic hint in which I want to set in EditText that I am using in Dialog... it worked fine for many devices except Galaxy note 1 which has Android ICS.
Note
1 - I converted the language of phone to Arabic so it showed the Arabic hint.
2 - EditText on Activity screens worked fine but on a Dialog it doesn't show the hint in Arabic.
The XML EditText in layout is:
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="14dip"
android:layout_marginRight="14dip"
android:lines="1"
android:inputType="textPassword" />
I tried to use,
android:ellipsize="end"
and
android:ellipsize="start"
and
android:singleLine="true"
and
android:layout_gravity="" //top, center, right, left
But nothing solved the issue.
Anybody got the solution?
just try to insert this Unicode "\u0020" before your string and it will work.
I too have issues with Arabic hint and 4.0 devices. problem was inputType and single line attributes. You have to remove android:lines="1" and add key listener in code.
I solved by,
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:background="@drawable/bg_text_field"
android:gravity="right"
android:padding="5dip" >
<EditText
android:id="@+id/et_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/transparent"
android:cursorVisible="true"
android:gravity="right"
android:hint="@string/hint_email"
android:imeOptions="actionNext"
android:inputType="textEmailAddress"
android:maxLength="255"
android:textColor="@android:color/black"
android:textSize="20sp"
android:padding="@dimen/edittext_padding">
</EditText>
</TableRow>
and in code...
et_email.setOnKeyListener(new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getAction() == KeyEvent.ACTION_DOWN
&& event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
{
et_email.clearFocus();
et_phno.requestFocus();
return true;
}
return false;
}
});