Gridview에 button들을 창조하고 그것을 눌렀을 때 색갈이 변하도록 하려고 합니다.


adapter함수를 써서 Gridview에 이미지 buttone들을 배치하고 그것을 누를때 이미지색갈이

변하게는 했는데 누를때만이 아니라 어떤 상태에서도 button의 이미지를 변경

하려고 하는데 어떻게 조종하겠는지 방법이 떠오르지 않아요.

Gridview에 만들어진 button들을 어떻게 다루는지 고수님들 부탁드립니다.


제가 작성한 코드의 일부를 올립니다.


public class MainActivity extends Activity{


    @Override
    public void onCreate(Bundle savedInstanceState) {

    ... .... .... ....... ...........

    mControlBtnGrid = (GridView) findViewById(R.id.grid_control_button);
    mControlBtnGrid.setAdapter(new MyAdapter(this, mStringIDs));
       
    mControlBtnGrid.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View v,
    int position, long id) {
        switch (position) {

        case 0:

            버튼 이미지변화조작

            다른 조작

            break;

        case 1:

            버튼 이미지변화조작

         .... ........ ...

    }

   }

여기 MyAdapter()에서 이미지와 텍스트가 있는 버튼들을 추가하는 조작을 진행합니다.

d = mContext.getResources().getDrawable(R.drawable.gridview_btn);

gridItem.icon.setImageDrawable(d); // gridItem 은 GridView의 매개 item들입니다.


여기서 gridview_btn.xml은 

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

이 상태에서는 우에서도 말슴드린것처럼 버튼이 눌린샹태에서만 이미지가 변합니다.


이럴때 어떻게 해야 하는지...