Derekyy
Derekyy

Reputation: 1038

Set multi-line for EditText's HINT

I know that I could change the No. of lines for EditeText's Text, yet could I change that of EditText's hint as well?

I could not find a solution online.

Thanks for the help.

My Code:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.property_search, menu);
    super.onCreateOptionsMenu(menu, inflater);

    final MenuItem searchViewMenuItem = menu.findItem(R.id.action_search);
    mSearchView = (SearchView) searchViewMenuItem.getActionView();
    int searchSrcTextId = getResources().getIdentifier("android:id/search_src_text", null, null);
    EditText searchEditText = (EditText) mSearchView.findViewById(searchSrcTextId);
    searchEditText.setImeOptions(EditorInfo.IME_ACTION_NEXT);
   searchEditText.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
    searchEditText.setHint(getString(R.string.search_hint));
}

strings.xml

<string name="search_hint">keyword, location, \nmax price (e.g. 1K, 1M)</string>

What I want is:

keyword, location,

max price (e.g. 1K, 1M)

Upvotes: 14

Views: 12999

Answers (5)

Fabian K&#246;bel
Fabian K&#246;bel

Reputation: 457

unbelievable but true: setting the long text programmatically instead of setting it in the xml did the trick.

<TextInputEditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine|textCapSentences|textAutoCorrect"

Set the text programmatically:

mEditTextRemark.setHint(R.string...);

Upvotes: 7

Pankaj Talaviya
Pankaj Talaviya

Reputation: 3458

set below two lines in your edittext in your xml file

android:inputType="textMultiLine"
android:lines="3"

so gives 3 multilines box are display in preview

Upvotes: -1

Josu Garcia de Albizu
Josu Garcia de Albizu

Reputation: 1148

Nothing worked for me but:

 <EditText
         android:id="@+id/text"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:inputType="textMultiLine|textLongMessage"
         android:hint="\n"/>

To be honest I don´t understand why.. but including "\n" as hint in the xml did the trick!

Now you can call setHint from Java code:

searchEditText.setHint(getString(R.string.search_hint));

and remove the \n from strings.xml if you want to allow the text split automatically according to the room

<string name="search_hint">keyword, location, max price (e.g. 1K, 1M)</string>

Upvotes: 15

M S Gadag
M S Gadag

Reputation: 2057

use new line separator \n in ur hint.

like

android:hint="first line of hint \n second line of hint so on.."

in strings

<string name="urhint">first line of hint \n second line of hint so on..</string>

android:hint="@string/urhint"

hope it works..

Upvotes: 9

kalidoss rajendran
kalidoss rajendran

Reputation: 640

Try this:

String.xml

<string name="hint">Hint first line \n Hint second line \n Hint third line</string>

Layout.xml

 <EditText
         android:id="@+id/emailText"   
         android:layout_height="fill_parent"
         android:layout_width="fill_parent"
         android:background="@drawable/login_edittext_background"
         android:imeOptions="actionNext"
         android:inputType="textEmailAddress"
         android:hint="@string/hint"/>

Upvotes: 0

Related Questions