2012-08-04 35 views
2

我有一个EditTextWebView的顶部,用于搜索。搜索后,用户通过来自服务器的链接获取一些TextBox。光标在EditTextWebViewTextBox中闪烁。但即使当我尝试在WebViewTextBox中键入某些字母时,字母也会变为EditText,但不会变为WebViewTextBox焦点不会从EditText更改为WebView中的TextBox android

关于为什么在模拟器中发生此问题的任何想法。

布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="match_parent" 
android:background="@drawable/white" 
android:tileMode="repeat" > 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 


    <LinearLayout 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_marginTop="30dip" 
     android:focusable="true" 
     android:focusableInTouchMode="true"> 

     <EditText android:text="" 
     android:id="@+id/searchEditText" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:layout_width="fill_parent"> 
     </EditText> 
     <Button android:text="Search" 
     android:id="@+id/searchCatalogButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     </Button> 

    </LinearLayout> 

    <WebView 
     android:id="@+id/browserwebview" 
     android:fillViewport="true" 
     android:layout_marginTop="75dip" 
     android:layout_marginBottom="30dip" 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent"/> 
    <LinearLayout 
     android:id="@+id/header" 
     android:layout_alignParentTop="true" 
     android:layout_width="fill_parent" 
     android:layout_height="30dip" 
     android:background="@drawable/black" 
     android:tileMode="repeat"> 
    <ImageButton 
     android:id="@+id/buttonBackCatalog" 
     android:src="@drawable/greenarrow" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/black" 
     android:tileMode="repeat"/> 
    <ImageView 
     android:src="@drawable/logo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:visibility="gone"/> 
    </LinearLayout> 

    <LinearLayout 
    android:layout_alignParentBottom="true" 
    android:layout_width="fill_parent" 
    android:layout_height="30dip" 
    android:layout_weight="1" 
    android:weightSum="5" 
    android:orientation="horizontal" 
    android:background="@drawable/black" 
    android:tileMode="repeat"> 

    <LinearLayout 
     android:id="@+id/footerLayoutHome" 
     android:clickable="true" 
     android:layout_width="fill_parent" 
     android:layout_weight="1" 
     android:orientation="vertical" 
     android:gravity="center" 
     android:layout_height="fill_parent"> 

    <ImageButton 
     android:id="@+id/footerMainBtnHome" 
     android:layout_width="fill_parent" 
     android:layout_height="14dip" 
     android:src="@drawable/home" 
     android:background="@drawable/black"/> 
    <TextView 
     android:text="Home" 
     android:textSize="8dip" 
     android:textColor="#ffffff" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
    </LinearLayout> 
    <LinearLayout 
     android:id="@+id/footerLayoutProducts" 
     android:clickable="true" 
     android:layout_width="fill_parent" 
     android:layout_weight="1" 
     android:orientation="vertical" 
     android:gravity="center" 
     android:layout_height="fill_parent"> 

     <ImageButton 
      android:id="@+id/footerMainBtnProducts" 
      android:layout_width="fill_parent" 
      android:layout_height="14dip" 
      android:src="@drawable/products" 
      android:background="@drawable/black"/> 
     <TextView 
      android:text="Products" 
      android:textSize="8dip" 
      android:textColor="#ffffff" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
    </LinearLayout> 
    <LinearLayout 
     android:id="@+id/footerLayoutCart" 
     android:clickable="true" 
     android:layout_width="fill_parent" 
     android:layout_weight="1" 
     android:orientation="vertical" 
     android:gravity="center" 
     android:layout_height="fill_parent"> 

     <ImageButton 
      android:id="@+id/footerMainBtnCart" 
      android:layout_width="fill_parent" 
      android:layout_height="14dip" 
      android:src="@drawable/cart" 
      android:background="@drawable/black"/> 
     <TextView 
      android:text="Cart" 
      android:textSize="8dip" 
      android:textColor="#ffffff" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

    </LinearLayout> 
    <LinearLayout 
     android:id="@+id/footerLayoutFeedback" 
     android:clickable="true" 
     android:layout_width="fill_parent" 
     android:layout_weight="1" 
     android:orientation="vertical" 
     android:gravity="center" 
     android:layout_height="fill_parent"> 

     <ImageButton 
     android:id="@+id/footerMainBtnFeedback" 
     android:layout_width="fill_parent" 
     android:layout_height="14dip" 
     android:src="@drawable/feedback" 
     android:background="@drawable/black"/> 
     <TextView 
     android:text="Feedback" 
     android:textSize="8dip" 
     android:textColor="#ffffff" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/footerLayoutHelp" 
     android:clickable="true" 
     android:layout_width="fill_parent" 
     android:layout_weight="1" 
     android:orientation="vertical" 
     android:gravity="center" 
     android:layout_height="fill_parent"> 

     <ImageButton 
     android:id="@+id/footerMainBtnHelp" 
     android:layout_width="fill_parent" 
     android:layout_height="14dip" 
     android:src="@drawable/help" 
     android:background="@drawable/black"/> 
     <TextView 
     android:text="Help" 
     android:textSize="8dip" 
     android:textColor="#ffffff" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    </LinearLayout>     
    </LinearLayout> 
</RelativeLayout> 
</LinearLayout> 

Java代码

webView = (WebView) findViewById(R.id.browserwebview); 
    searchEditText = (EditText)findViewById(R.id.searchEditText); 
    search = (Button)findViewById(R.id.searchCatalogButton); 

    search.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View view) { 
      String urlSearchKey = searchEditText.getText().toString().trim(); 
      if(urlSearchKey==""){ 
       Toast.makeText(Catalog.this, "Enter Search Keyword", Toast.LENGTH_LONG).show(); 

      } 
      else{ 
       url=urlforthesite+urlSearchKey; 
       webView.loadUrl(url); 
       searchEditText.setText(""); 
      } 

     } 
    });` 

期待您的回复。

谢谢。

+0

嘿..你可以发表一些代码..这将增加SO支持者的兴趣,去解决你的代码中的问题。 – 2012-08-06 05:41:36

+0

@HareshChaudhary我附上了代码。谢谢。 – Mukunda 2012-08-06 05:52:05

回答

0

根据webkit的定制,webview中文本框的行为可能因设备而异, 。 在原始的android源代码中,textBox与android视图的editText结合在一起。 但是在设备上它可以给出不同的外观。 所以这不是一个问题,它只是一个行为的API。 在不同的设备上检查它。

0

做这个2东西 .Might解决你的问题::))

1)添加android:focusable="true"在web视图

<WebView android:id="@+id/browserwebview" 
    android:layout_weight="1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:focusable="true" 
    android:fillViewport="true" 
    android:layout_marginTop="75dip" 
    android:layout_marginBottom="30dip" 
    />  

2)添加webView.getSettings().setJavaScriptEnabled(true);在您的Java代码