2017-06-22 23 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