2014-02-19 96 views
0

在我的应用程序中,我使用了editext(我叫editext ---> url) 我将键“完成”有动作我的按钮 我已阅读其他问用户,但没有understant如何使Android如何使用键盘上的完成按钮来点击按钮

Exscuse我为我的英语

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

+0

张贴您的XML和代码的细节。 –

+0

我已经插入代码请帮我 – AnonymousDoor

+0

PLease,发布你的xml文件。 –

回答

0

如果我正确理解你的问题,你需要键盘上的完成按钮来执行一些操作。这应该是诀窍:

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; 
       } 
}); 
+0

我把它放在创建? – AnonymousDoor

+0

是的。我猜你想要的是用webView.loadUrl(url.getText()。toString())替换我的评论;如果是这样,不要忘记设置适当的检查用户输入的URL的有效性,以避免问题;) – 2Dee

+0

非常感谢! – AnonymousDoor

相关问题