2012-08-04 38 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代碼