2014-11-24 83 views
0

我正在尝试将webview添加到我的项目中以获得聊天室。然而,只要我在聊天中输入文字,键盘就会再见,这有点烦人。有没有简单的方法来强制键盘保持打开状态以便输入。强制Android始终在webview中显示键盘

我的代码:

GoChatActivity.java

package com.test.abc.activity; 
import com.test.abc.xx.R; 
import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.view.View; 
import android.view.inputmethod.InputMethodManager; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class GoChatActivity extends Activity { 

@SuppressLint("SetJavaScriptEnabled") 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.reg); 
    WebView webView = (WebView) findViewById(R.id.webView1); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.setWebViewClient(new WebViewClient()); 
    webView.loadUrl("http://dev.openflex.net/candy/"); 
    webView.requestFocus(View.FOCUS_DOWN); 
    InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
    mgr.showSoftInput(webView, InputMethodManager.SHOW_IMPLICIT); 




} 


} 

我在布局reg.xml是

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

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="46dip" 
    android:background="@drawable/skin_header_bar_bg" 
    android:ellipsize="end" 
    android:gravity="center" 
    android:singleLine="true" 
    android:text="Chat Room" 
    android:textColor="@color/skin_bar_text" 
    android:textSize="19.0sp" /> 

<com.test.abc.scrollview.BounceScrollView 
    android:id="@+id/scrollView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/coversation_bg" 
    android:fadingEdge="none" 
    android:fillViewport="true" 
    android:scrollbarThumbVertical="@drawable/scrollbar_handle_vertical" > 

<WebView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/webView1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
/> 

</com.test.abc.scrollview.BounceScrollView> 

</LinearLayout> 

我的AndroidManifest.xml这项活动

<activity 
     android:name="com.test.abc.activity.GoChatActivity" 
     android:alwaysRetainTaskState="true" 
     android:configChanges="locale|keyboardHidden|orientation|screenSize" 
     android:exported="true" 
     android:windowSoftInputMode="stateVisible" 
     android:hardwareAccelerated="true" 
     android:launchMode="singleTop" 
     android:theme="@style/Default.SwipeBack.NoTitleBar" 
     > 
    </activity> 

我所寻找的是键盘始终保持开放一次我在聊天室(网址是从聊天开发者网站上的聊天,让我的将是相同的。)

任何想法如何解决这个问题?请注意,我是Eclipse/Android的新手,所以一个有解释的工作示例将对大多数人有所帮助,因为我通过这么做了:)

在附注中,当前聊天的工作方式如下所示:如果输入测试,则可以用键盘上的GO按钮发送它,然后隐藏键盘。或者你可以键入文本,klick发送(在web视图中),然后他们键盘皮,它不会被发送,你必须再次点击发送按钮...有点烦人,如果你问我:)

感谢您的时间。

回答

0

使用这种在乌拉圭回合清单activity.hope它的工作原理

android:windowSoftInputMode="stateAlwaysVisible" 

或本

android:windowSoftInputMode="adjustPan|stateAlwaysVisible" 
+0

没有为你工作? – Darpan 2014-11-24 12:35:09

+0

雅而不是在web视图中,我只是建议他尝试.... – 2014-11-24 12:36:54

+0

试过,但也没有运气 – 2014-11-25 03:14:36