Friday, 27 February 2015

ImageView can't be clicked like a button




  • Everything is OK except the onClick() method.It didn't work at all.When I click the any of the 3 images,nothing happened.

  • I know that I can solve the problem by using Button or ImageButton.But where is the bug in my code?


  • Here is a part of my code:



    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //......
    discover = (ImageView) findViewById(R.id.discover);
    to_new = (ImageView) findViewById(R.id.to_new);
    me = (ImageView) findViewById(R.id.me);
    }

    @Override
    public void onClick(View v) {
    switch(v.getId()){
    case R.id.discover:
    discover.setImageResource(R.drawable.discover_2);
    to_new.setImageResource(R.drawable.to_new);
    me.setImageResource(R.drawable.me);
    break;
    case R.id.to_new:
    discover.setImageResource(R.drawable.discover);
    to_new.setImageResource(R.drawable.to_new_2);
    me.setImageResource(R.drawable.me);
    break;
    case R.id.me:
    discover.setImageResource(R.drawable.discover);
    to_new.setImageResource(R.drawable.to_new);
    me.setImageResource(R.drawable.me_2);
    break;
    }
    }



XML:



<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="60dp"
android:src="@drawable/blank"/>
<ImageView
android:id="@+id/discover"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/discover"
android:clickable="true"/>
<ImageView
android:id="@+id/to_new"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:src="@drawable/to_new"
android:clickable="true"/>
<ImageView
android:id="@+id/me"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/me"
android:clickable="true"/>
</LinearLayout>

No comments:

Post a Comment