Android:单击 EditText 时启动活动

发布于 2024-11-02 23:49:42 字数 192 浏览 1 评论 0原文

当用户触摸 EditText(如 Facebook 搜索和 Google 搜索小部件中)时,如何启动新活动?

设置 setOnClickListener 仅在第一次单击后起作用。第一次单击时,EditText 会突出显示,并且键盘会弹出。第二次单击时,它将打开新活动。 我不想要这个,相反我想在第一次点击时打开活动。我该怎么做?

How do I start a new activity when the user touches an EditText like in the Facebook search and Google search widget?

Setting setOnClickListener works only after the first click. On the first click the EditText becomes highlighted, and keyboard pops up. On second click it opens the new activity.
I do not want this, instead I want to open the activity on the very first click. How do I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

酒解孤独 2024-11-09 23:49:42

您需要在触摸模式下禁用 EditText 的焦点,这将使 onclick 在第一次点击时执行:

<EditText ...
      android:focusableInTouchMode="false" 
      android:editable="false"
/>

You need to disable the EditText's focus in touch mode, that will make the onclick execute on the first tap:

<EditText ...
      android:focusableInTouchMode="false" 
      android:editable="false"
/>
感情旳空白 2024-11-09 23:49:42

将 EditText 的输入类型设置为 InputType.TYPE_NULL:

editText.setInputType(InputType.TYPE_NULL);

,这样在接收用户交互时会隐藏软键盘。启动活动:

public void onEditTextClick(View arg0) 
{
    Intent intent = new Intent(MainActivity.this, SecondActivity.class);
    startActivity(intent);
}

当然,onEditTextClick方法必须注册到EditText对象:)

Set the input type of the EditText to InputType.TYPE_NULL:

editText.setInputType(InputType.TYPE_NULL);

, which hides the soft keyboard while receiving user interaction. Start the activity:

public void onEditTextClick(View arg0) 
{
    Intent intent = new Intent(MainActivity.this, SecondActivity.class);
    startActivity(intent);
}

Of course, the onEditTextClick method has to be registered to the EditText object:)

ㄟ。诗瑗 2024-11-09 23:49:42

请尝试这个

<EditText
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:onClick="search"/>

public void search(View view) 
{
    EditText text = (EditText)view;

    if(text.length() == 0)
        return;
    Intent intent = new Intent(MainActivity.this, SecondActivity.class);
    startActivity(intent);
}

Please, Try this

<EditText
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:onClick="search"/>

and

public void search(View view) 
{
    EditText text = (EditText)view;

    if(text.length() == 0)
        return;
    Intent intent = new Intent(MainActivity.this, SecondActivity.class);
    startActivity(intent);
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文