0

我有一個浮動標籤,不會浮動文本提示,直到偵聽器啓動並關閉(關閉)對話框片段之後纔有EditText。我試圖讓提示在EditText獲得焦點之後浮動,並且在dialogfragment啓動之前,以便用戶可以看到已完成的提示已浮動。 EditText使用「hasFocus」代碼,似乎阻止了標籤立即浮動,儘管它最終在diaglogfragment關閉後執行。看起來OnFocusChangeListener優先於UI線程上的TextInoutLayout浮動標籤,不知道爲什麼。請指教。如何在OnFocusChangeListeners更新UI線程之前讓EditText浮動標籤浮動?

Activity.java

.... 
    private ListenerEditText fListenerEditText; 
    fListenerEditText = (ListenerEditText) findViewById(R.id.FEditText); 
    fListenerEditText.setOnFocusChangeListener(new View.OnFocusChangeListener()  { 
     public void onFocusChange(View v, final boolean hasFocus) { 
      if(hasFocus) { 
       DialogFragment newFragment = new DatePickerFragment(); 
       newFragment.show(getSupportFragmentManager(), "datePicker"); 
     } 
    } 
    }); 
    ... 

佈局file.xml ...

<android.support.design.widget.TextInputLayout 
    android:id="@+id/DueDate_text_input_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_row="4" 
    android:layout_column="0"> 

    <com.example.jdw.thirdscreen.ListenerEditText 
    android:id="@+id/FEditText" 
    android:hint="Due Date" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:layout_gravity="fill_horizontal|start" 
    android:inputType="text|textCapSentences|textNoSuggestions" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColor="#FFFFFF" 
    android:singleLine="true" 
    android:maxLength="51" 
    android:imeOptions="actionNext|flagNoExtractUi" 
    android:layout_marginBottom="8dp" > 

    </com.example.jdw.thirdscreen.ListenerEditText> 
    </android.support.design.widget.TextInputLayout> 

回答

0

你應該能夠延長TextInputLayout並添加接口標籤時完成漂浮listetning。

的源代碼應該位於某個地方在這裏:

<android-sdk>\sdk\extras\android\support\design\libs 
+0

我是一個新人,Android和Java編程......你能不能給我延長TextInputLayout的基本代碼示例,並添加界面在聽嗎?另外,如何看待源代碼幫助我?因爲我可以看到UI屏幕更新的優先級? – AJW