gpt4 book ai didi

android - 如何在 Android 中的同一布局中选择 EditText 后专注于 Webview?

转载 作者:行者123 更新时间:2023-11-29 00:37:06 24 4
gpt4 key购买 nike

我一直在尝试在布局中添加 EditTexts 和 WebView。问题在于关注 WebView。在决定再次提问之前,我曾尝试浏览网络和 Stackoverflow 上的答案。

在 webview 中,我有一些字段需要填写,这些字段是通过 POST 发送的。如果我先选择 Webview(然后在字段中输入值),就可以了。但是,如果我先选择 EditTexts,我就不能专注于 Webview 来填写网页上的字段,尽管似乎另一个光标与 EditText 部分中的光标平行设置。生成的网页包含一些我需要添加到 EditText 的信息。

到目前为止我的代码:

public class LoadWebandEditText extends Activity {

@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

setContentView(R.layout.oauth_signin);
final WebView webpage = (WebView)findViewById(R.id.webview_page);
webpage.setWebViewClient(new WebViewClient());
webpage.loadUrl("www.towardsmypage.com");


Button btn_next = (Button)findViewById(R.id.btn_next);
final EditText edittext_1 = (EditText)findViewById(R.id.editText_1);
final EditText edittext_2 = (EditText)findViewById(R.id.EditText_2);


webpage.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
webpage.requestFocus();
webpage.setFocusable(true);
}
});

webpage.setOnFocusChangeListener(new OnFocusChangeListener(){

public void onFocusChange(View arg0, boolean hasFocus) {


if (!hasFocus){
webpage.requestFocus();
webpage.setFocusable(true);
}
}
});

我的 Layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<WebView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview_page"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:focusable="true"/>

<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="15dip"
android:text="Enter Field Information 1"
android:textSize="18dp"
android:textStyle="bold"
android:typeface="sans" />

<EditText
android:id="@+id/editText_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword" >


</EditText>

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="15dip"
android:text="Enter Field Information 2"
android:textSize="18dp"
android:textStyle="bold"
android:typeface="sans" />

<EditText
android:id="@+id/EditText_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword" />

<Button
android:id="@+id/btn_next"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:layout_gravity="center_horizontal" />
</LinearLayout>

最佳答案

几周前我遇到了同样的问题。答案很简单,给webview设置一个onTouchListener,然后设置如下:

public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
if (!v.hasFocus()) {
v.requestFocus();
}
break;
}
return false;
}

编辑:事实上,我在“相关”类别中找到了一个完全相同的副本,请阅读 this .

如果这不是您要找的,请告诉我。

关于android - 如何在 Android 中的同一布局中选择 EditText 后专注于 Webview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11927549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com