5

私はmaterialdatetime pickerを使用してフォームを作成しています。私はTextViewを使用している場合、それは良いですが、私はそれのためにEditTextを使用したい、私はEditTextを使用している場合、私はTextViewをどのように見ている使用している場合私が見ることができる画像をアップロードしています。 DatePickerを開くには2回クリックする必要があります。最初のクリックでは、編集可能なテキストボックスのように動作します。TextViewの代わりにEditTextを使用して、ワンクリックでdatePickerを開く方法は?

<!-- Adding Payment Method progress --> 
    <ProgressBar 
     android:id="@+id/payment_method_progress" 
     style="?android:attr/progressBarStyleLarge" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="8dp" 
     android:visibility="gone" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/adding_payment_method_heading" 
     android:textSize="@dimen/activity_heading" 
     android:elevation="0dp" 
     android:layout_marginBottom="@dimen/activity_vertical_margin" 
     /> 


    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/adding_payment_method_description" 
     android:textSize="@dimen/activity_description" 
     android:elevation="0dp" 
     android:layout_marginBottom="@dimen/activity_vertical_margin" 
     /> 

    <ScrollView 
     android:id="@+id/adding_payment_method_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <LinearLayout 
      android:id="@+id/adding_payment_method_layout" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

      <android.support.design.widget.TextInputLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/layout_user_id" 
       > 

       <EditText 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/enter_user_name" 
        android:inputType="text" 
        android:maxLines="1" 
        android:singleLine="true" 
        android:id="@+id/user_id" /> 
      </android.support.design.widget.TextInputLayout> 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal"> 

       <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="left" 
        android:layout_weight="1" 
        android:text="Select Payment Methods" /> 

       <Spinner 
        android:id="@+id/payment_methods" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right" 
        android:layout_weight="1" /> 
      </LinearLayout> 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:id="@+id/check_chosen" 
       > 

      <android.support.design.widget.TextInputLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/layout_amount" 
       > 

       <EditText 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/amount" 
        android:inputType="numberDecimal" 
        android:maxLines="1" 
        android:singleLine="true" 
        android:id="@+id/amount" /> 
      </android.support.design.widget.TextInputLayout> 

      <android.support.design.widget.TextInputLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/layout_check_number" 
       > 

       <EditText 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/check_number" 
        android:inputType="number" 
        android:maxLines="1" 
        android:singleLine="true" 
        android:id="@+id/check_number" /> 
      </android.support.design.widget.TextInputLayout> 

      <android.support.design.widget.TextInputLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/layout_bank_name" 
       > 

       <EditText 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/bank_name" 
        android:inputType="text" 
        android:maxLines="1" 
        android:singleLine="true" 
        android:id="@+id/bank_name" /> 
      </android.support.design.widget.TextInputLayout> 


       <android.support.design.widget.TextInputLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:id="@+id/date_of_check" 
        android:layout_weight="1" 
        > 
        <EditText 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:id="@+id/check_date" 
         android:hint="Date" 
         android:inputType="date" /> 
       </android.support.design.widget.TextInputLayout> 
      </LinearLayout> 

      <android.support.design.widget.TextInputLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:id="@+id/layout_payment_info" 
       > 

       <EditText 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/payment_info" 
        android:inputType="text" 
        android:maxLines="1" 
        android:singleLine="true" 
        android:id="@+id/payment_info" /> 
      </android.support.design.widget.TextInputLayout> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:id="@+id/payment_date" 
        android:hint="@string/payment_date" 
        android:inputType="date" /> 

      <Button 
       android:id="@+id/add_payment_method_action" 
       style="?android:textAppearanceSmall" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="16dp" 
       android:text="@string/submit" 
       android:onClick="testSubmit" 
       android:textStyle="bold" /> 


    </LinearLayout> 
    </ScrollView> 
</LinearLayout> 

enter image description here

私はここにJavaコードをポストする必要がある場合、私に知らせてください。

+0

偽のあなたのEditTextがクリック可能にし、それにonclickのリスナーを設定します。これはあなたを助けるでしょう。試してみてください –

+0

ちょうどそれを編集し、 'android:focusableInTouchMode =" false "'を追加してみてください。それから私もあなたの提案を使用します。 –

+0

@RakshitNawani 'android:focusableInTouchMode =" false "'は私の問題を解決しました。 –

答えて

8

は、あなたがあなたの条件を達成するためのEditTextを使用することができ、あなたのエディットテキストに

+0

素晴らしいですが、私は 'android:focusable =" false "'を使用せず、あなたの回答が編集され、 'android:focusableInTouchMode =" false "'が追加され、うまくいけば、とにかくありがとうございます。私のxmlが間違っている場合、私は正しい方法でそれをやっている場合、私はアンドロイドにはあまりにも新しいです、知らない、として。 –

+0

idがcheck_chosenの線図レイアウトを除いて、他のすべてがよく見えます。親レイアウトには既に垂直方向があるため、これを排除できます。 –

+0

ありがとうございましたAnkit :) –

3

android:focusable="false" 
android:focusableInTouchMode="false" 

を置きます。まず、この

EditText edTxt; 
edTxt = (TextView) row.findViewById(R.id.acti_edtTxt_date); 

のようにまた、あなたはこの

edTxt.setClickable(false); 

などの編集可能な非表示にするコードからそれを行うことができますさて、この編集テキストやオープン日付ピッカーまたは何をしたいの上にOnClickListener適用します。

あなたは あなたはそれfocusable falseすることによって、それを達成することができ、あなたのEditText

<EditText ... 
    android:clickable="false" 
    android:cursorVisible="false" 
    android:focusable="false" 
    android:focusableInTouchMode="false"> 

1

を定義するXMLファイル内のそのsetClickableは= "false" に注意してください。あなたのエディットテキストで

<EditText ... 
    android:cursorVisible="false" 
    android:focusable="false" 
    android:focusableInTouchMode="false"> 
0

この

android:editable="false" 
android:enabled="true" 
+0

申し訳ありませんが、あなたの解決策のために私は 'Error:(182)Noあなたが見ることができる方法で、パッケージ 'android''で属性' endabled 'のリソース識別子が見つかりました。私は私の問題を解決しました。あなたにも役立つことを願っています。 –

+0

ああ...申し訳ありませんが私の間違い..実際にはcom.wrapp.floatlabelededittext.FloatLabelededitext.FloatLabeledEditTextのために動作します – PpL

+1

あなたはあなたの答えを編集し、それが動作し、この質問のために答える状況を記述することができます。私はあなたに投票していません。心配しないでください。 :) –

0

があなたのエディットテキストに以下の行を入れてみてください。

android:editable="false" 
android:focusableInTouchMode="false" 
関連する問題