为EditText的提示设置多行

时间:2015-01-21 06:18:14

标签: android android-edittext hint

我知道我可以更改EditeText文本的行数,但是我可以更改EditText的提示吗?

我无法在线找到解决方案。

感谢您的帮助。

我的代码:

@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>

我想要的是:

关键字,位置,

最高价格(例如1K,1M)

5 个答案:

答案 0 :(得分:8)

对我来说没有任何作用,但是:

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

说实话我不明白为什么......但是在xml中包含“\ n”作为提示就行了!

现在您可以从Java代码中调用setHint:

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

如果要根据房间自动拆分文本

,请从strings.xml中删除\ n
<string name="search_hint">keyword, location, max price (e.g. 1K, 1M)</string>

答案 1 :(得分:6)

在你的提示中使用新的行分隔符\ n。

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

字符串

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

android:hint="@string/urhint"

希望它有效..

答案 2 :(得分:1)

令人难以置信,但却是事实:通过编程设置长文本而不是在xml中进行设置确实可以解决问题。

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

以编程方式设置文本:

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

答案 3 :(得分:0)

试试这个:

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"/>

答案 4 :(得分:0)

在xml文件

中的edittext中设置两行以下
android:inputType="textMultiLine"
android:lines="3"

所以在预览中显示3个多线框