我一直在使用WebView
制作自定义浏览器来加载页面,使用EditText
输入网址。
单击地址EditText
,然后在WebView
内单击后,会出现问题。通常情况下,只能选择其中一个,但在这种情况下,如果在EditText
中选择WebView
,它实际上会为您提供两个游标,并保持地址栏处于活动状态(意味着如果您尝试输入谷歌搜索栏,例如,当两者都处于“活动状态”时,它会将您键入的内容返回到地址栏。)
我尝试为onClickListener
制作WebView
,以便在触摸任何时候请求焦点,但一旦选中,它就不会从地址栏中删除焦点。
mWebView.setOnClickListener(new View.OnClickListener(){
public void onClick(View view) {
mWebView.requestFocus();
}
});
有没有办法链接WebView
和地址EditText
,以便在任何给定时间只能选择其中一个?
这是布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:baselineAligned="true"
android:id="@+id/mainPanel">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0" android:id="@+id/addressBar">
<EditText android:id="@+id/address"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:lines="1">
</EditText>
<Button android:layout_weight="0"
android:layout_width="40dip"
android:layout_height="40dip"
android:layout_gravity="top"
android:background="@drawable/ic_menu_directions"
android:clickable="true"
android:id="@+id/go">
</Button>
</LinearLayout>
<WebView android:layout_width="fill_parent"
android:id="@+id/webview"
android:layout_height="wrap_content"
android:layout_weight="50">
<requestFocus/>
</WebView>
<ProgressBar android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" android:id="@+id/progbar" android:layout_width="fill_parent"></ProgressBar>
</LinearLayout>