2016-11-14 33 views
0

我想把一個EditText或AppCompatEditText放在一個CardView中,但EditText沒有得到重點。無法找到我在佈局中缺少的東西。EditText不能在CardView中工作

 <android.support.v7.widget.CardView 
      android:id="@+id/card_username" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="14dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="14dp" 
      app:cardBackgroundColor="@color/color_secondary_ultra_light"> 
      <android.support.v7.widget.AppCompatEditText 
       android:id="@+id/edit_username" 
       android:padding="10dp" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@null" 
       android:drawablePadding="4dp" 
       android:drawableTint="@android:color/darker_gray" 
       android:drawableRight="@mipmap/ic_person_black_24dp" 
       android:hint="Username" 
       android:inputType="textWebEmailAddress" 
       android:maxLines="1" 
       android:textColorHint="@android:color/darker_gray" 
       android:textSize="18sp" 
       android:focusable="true" 
       android:clickable="true"/> 
     </android.support.v7.widget.CardView> 

發佈的解決方案here不適用於我的情況。

+0

在CardView中放置容器佈局讓我們說RelativeLayout。裏面,把Edittext/AppCompatEditText並嘗試 – Raghavendra

+0

@Raghavendra相同的條件:( – Khan

+0

沒有@Sayem ..它不是重複。 – Khan

回答

0

我已經把android:descendantFocusability="beforeDescendants"財產置於CardView現在它工作正常。

感謝大家的努力。

1

不使用AppCompatEditText使用的EditText代替 它將使用AppCompatEditText默認

<android.support.v7.widget.CardView 
      android:id="@+id/card_username" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="14dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="14dp" 
      app:cardBackgroundColor="@color/color_secondary_ultra_light"> 
      <EditText 
       android:id="@+id/edit_username" 
       android:padding="10dp" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@null" 
       android:drawablePadding="4dp" 
       android:drawableTint="@android:color/darker_gray" 
       android:drawableRight="@mipmap/ic_person_black_24dp" 
       android:hint="Username" 
       android:inputType="textWebEmailAddress" 
       android:maxLines="1" 
       android:textColorHint="@android:color/darker_gray" 
       android:textSize="18sp" 
       android:focusable="true" 
       android:clickable="true"/> 
     </android.support.v7.widget.CardView> 

您可以在EditText上默認使用它AppCompatEditText文檔中進行檢查。

當您在佈局中使用EditText時,會自動使用此功能。 您只需在編寫自定義 視圖時手動使用此類。

0

使用編輯文本而不是AppCompatEditText。

+0

我已經試過它,但不工作 – Khan

+0

你可以使用類似的東西: –

0

<android.support.v7.widget.CardView 
 
xmlns:android="http://schemas.android.com/apk/res/android" 
 
xmlns:app="http://schemas.android.com/apk/res-auto" 
 
android:layout_width="match_parent" 
 
android:layout_height="match_parent" 
 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
 
> 
 
<LinearLayout 
 
    android:layout_width="match_parent" 
 
    android:layout_height="match_parent" 
 
    android:orientation="vertical" 
 
    android:paddingLeft="10dip" 
 
    android:paddingRight="10dip" 
 
    > 
 
<EditText 
 
     android:id="@+id/Edit" 
 
     android:layout_width="match_parent" 
 
     android:layout_height="match_parent" 
 
     android:inputType="textCapSentences|textMultiLine" 
 
     android:overScrollMode="always" 
 
     android:scrollbarStyle="insideInset" 
 
     android:scrollbars="vertical" 
 

 
     /> 
 
</LinearLayout> 
 

 
</android.support.v7.widget.CardView>

+0

使用編輯文本內線性佈局@khan –

+0

我試過了,但沒有任何發生 – Khan

0

雖然解決方案在這裏應該有工作,你可以使用一個黑客,以節省時間。 在你的代碼:

 EditText et = (EditText)findViewById(R.id.editTextId); 
     et.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
        ((EditText) view).requestFocus(); 
        InputMethodManager imm = (InputMethodManager) 
             getSystemService(Context.INPUT_METHOD_SERVICE); 
        imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); 
      } 
     }); 

但是,使用此之前,請確保您的EditText沒有被其他一些意見重疊。這可能是不需要此解決方法的問題。

+0

試試@Prasad,但鍵盤沒有被android打開,只有光標閃爍 – Khan

+0

檢查新的變化。 –