【问题标题】:Android How Want Use Done button on Keyboard to click buttonAndroid 如何使用键盘上的完成按钮来点击按钮
【发布时间】:2014-02-19 14:53:52
【问题描述】:

在我的应用程序中,我使用 editext(我称为 editext ---> url) 我希望“完成”键具有我的按钮的操作 我已经阅读了其他询问用户但不了解如何制作

请原谅我的英语问题

public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView = (WebView) findViewById(R.id.webview);
    url = (EditText) findViewById(R.id.url);
    webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView v, String url){
    v.loadUrl(url);
    return true;
    } 
    @Override
    public void onPageFinished(WebView view, String url) {
    super.onPageFinished(webView, url);
    String a= url.toString();
    a = webView.getUrl();
      }
    }); 
    webView.loadUrl("http://www.google.it");




}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

private WebView webView;

private EditText url;

xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="top"
android:orientation="vertical" >

<ImageButton
    android:id="@+id/reload"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/back"
    android:layout_toLeftOf="@+id/back"
    android:background="@drawable/refresh"
    android:contentDescription="@string/reload"
    android:src="@drawable/refresh"
    android:text="@string/reload" />

<EditText
    android:id="@+id/url"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_margin="4dip"
    android:layout_toLeftOf="@+id/back"
    android:ems="10"
    android:inputType="textUri"
    android:longClickable="false"
    android:text="@string/default_url"
    android:textSize="@dimen/activity_horizontal_margin"
    android:typeface="sans" />

<ImageButton
    android:id="@+id/back"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toLeftOf="@+id/forward"
    android:background="@drawable/Back"
    android:contentDescription="@string/back"
    android:maxHeight="@dimen/activity_vertical_margin"
    android:maxWidth="@dimen/activity_horizontal_margin"
    android:src="@drawable/Back" />

<ImageButton
    android:id="@+id/forward"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toLeftOf="@+id/go"
    android:background="@drawable/Forward"
    android:contentDescription="@string/forward"
    android:maxWidth="@dimen/activity_horizontal_margin"
    android:src="@drawable/Forward" />

    <ImageButton
    android:id="@+id/go"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_margin="2dip"
    android:background="@drawable/Search"
    android:contentDescription="@string/go"
    android:maxHeight="@dimen/activity_horizontal_margin"
    android:maxWidth="@dimen/activity_horizontal_margin"
    android:onClick="go"
    android:src="@drawable/Search"
    android:text="@string/go" />

        <WebView
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@id/url" />

【问题讨论】:

  • 发布您的 xml 和代码以获取详细信息。
  • 我已经插入代码请帮助我
  • 请发布您的 xml 文件。

标签: android input keyboard


【解决方案1】:

如果我正确理解了您的问题,您希望键盘上的“完成”按钮执行一些操作。这应该可以解决问题:

url.setOnEditorActionListener(new EditText.OnEditorActionListener() {
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
         if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) {
              // Your action goes here...
         }
    return false;
                }
});

【讨论】:

  • 是的。我猜你想要的是用 webView.loadUrl(url.getText().toString()); 替换我的评论。如果是这样,请不要忘记对用户输入的 url 的有效性进行适当的检查以避免出现问题;)
  • 如何检查网址是否有效?
  • 做对了,检查这个问题:stackoverflow.com/questions/2230676/…
  • 感谢我使用这个:String a= url.getText().toString(); if (a.contains("www.") == true) { webView.loadUrl(url.getText().toString()); } else { 字符串搜索 = "google.com/search?q="+url.getText(); webView.loadUrl(search); } }
猜你喜欢
  • 1970-01-01
  • 2015-04-06
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
  • 1970-01-01
  • 2012-04-22
  • 1970-01-01
  • 2011-03-21
相关资源
最近更新 更多