Android textView disappears when clicked

2019-08-03 14:54发布

问题:

I have a TextView with the android:onClick attribute. When clicked, the TextView disappears. I don't want the TextView to disappear when clicked. Any ideas?

Edit:

<TextView android:id="@+id/textView1"android:text="Click Me!"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:onClick="processClick"
android:clickable="true"/>

http://i1179.photobucket.com/albums/x386/jenningsr2006/unclicked.png

http://i1179.photobucket.com/albums/x386/jenningsr2006/clicked.png

Edit

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
    setContentView(R.layout.example);

    TextView t = (TextView)findViewById(R.id.textView1111);
    t.setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            // Do some job here
            Toast.makeText(getApplicationContext(), "Clicked", Toast.LENGTH_SHORT).show();

        }
    });

Clicking it does the operation correctly, that's not the problem. When I "mousedown" on the TextView, it disappears, then reappears on "mouseup".

回答1:

I thought I had the same problem but it turned out the textview was not dissapearing, rather the color was changing so that it was the same as the background color. Thus it appeared hidden but it really was there. You can set the clicked color of the text view by setting it's color state list resource

http://developer.android.com/guide/topics/resources/color-list-resource.html



回答2:

Have you registered a method processClick? There is no need to do it this way. Remove the clickable property and also onClick property. More simple approach is to set onClick listener from the code, for example in onCreate method:

TextView text = (TextView) findViewById(textView1);
text.setOnClickListener(new OnClickListener() 
{
    @Override
    public void onClick(View v) 
    {
        // Do some job here

    }
});

The view becomes clickable automatically when you set an on click listener. Good luck