我有一个文本框,它接受用户输入然后启动此link或启动reddit应用程序(取决于用户在出现的选择器中选择的内容)。出于某种原因,当您单击文本框开始键入时,选择器会出现,而不会让用户有机会开始输入。为什么会发生这种情况?如何才能使选择器仅在用户提交文本后出现?
public void searchBar(View view)
{
EditText et = (EditText)findViewById(R.id.editTextSearchBar);
String input = et.getText().toString();
String goTo = "http://reddit.com/r/"+input;
Uri webpage = Uri.parse(goTo);
Intent webIntent = new Intent(Intent.ACTION_VIEW,webpage);
startActivity(webIntent);
}
<EditText
android:id="@+id/editTextSearchBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/redditHint"
android:inputType="textUri"
android:imeOptions="actionGo"
android:onClick="searchBar"
/>
据我所知,此代码未考虑用户未输入任何文本但仍然按下输入的实例。出于所有密集目的,我们假设用户确实输入了一些文本。
答案 0 :(得分:0)
这是因为你做得不对。当用户点击编辑文本时,会调用searchBar函数,然后调用startActivity - &gt;应用程序选择对话框
查看处理键盘上返回按钮的here。 我希望这能解释