2017-06-22 56 views
0

我在我的textView有選擇器行。選擇器上textView requierd兩次點擊做動作

selector.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!--<item android:drawable="@drawable/select_white" android:state_activated="true"/>--> 
    <item android:drawable="@drawable/select_white" android:state_pressed="true"/> 
    <item android:drawable="@drawable/select_white" android:state_selected="true"/> 
    <item android:drawable="@drawable/select_white" android:state_focused="true"/> 
    <item android:drawable="@drawable/select_none"/> 
</selector> 

,我設置爲背景爲我的TextView:

    <TextView 
        android:id="@+id/displayPlace" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:focusable="true" 
        android:focusableInTouchMode="true" 
        android:clickable="true" 
        android:text="@string/place" 
        android:textColor="@color/white" 
        android:background="@drawable/selector" 
        android:textSize="@dimen/text_main"/> 

當我點擊文本視圖選擇似乎很好,但我必須做我的點擊動作,所以要做我的動作它需要點擊兩次,我試圖刪除android:focusableInTouchMode="true"線,但它使選擇器可見一秒鐘後走了。

我如何在首次點擊選擇器時執行操作?

我上點擊:

place.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      fragment = new PlaceFragment(); 
      replaceFragment(fragment); 
      Fragment fragment2 = getFragmentManager().findFragmentByTag(TAG_FRAGMENT); 
      if (fragment2 != null) 
       getFragmentManager().beginTransaction().remove(fragment2).commit(); 
     } 
    }); 
+0

告訴我你的java代碼 –

+0

@sushantgosavi它只是一個點擊方法,順便說一句,我更新了它。 –

+0

但我必須對我的點擊進行操作那是什麼意思你是否表示你點擊其他視圖> –

回答

2

只要嘗試使用setOnFocusChangeListener而不是setOnClickListener