總網頁瀏覽量

關於我自己

我的相片
人生的必修課是接受無常,人生的選修課是放下執著。

2012年3月11日 星期日

監聽Focus行為 - setOnFocusChangeListener

TextView tvItem1 = (TextView) findViewById (R.id.tvItem1);
TextView tvItem2 = (TextView) findViewById (R.id.tvItem2);
TextView tvItem3 = (TextView) findViewById (R.id.tvItem3);

TextView tv_id[] = {tvItem1, tvItem2, tvItem3};

public void setBackgroundFocus(int mPosition)
{
    int position = mPosition-1;
    for(int i=0; i<tv_id.length; i++)
    {
         if(i == position)
        {
                //若掃到的項目為要focus的項目, 則改變被景色
                tv_id[i].setBackgroundResource(R.drawable.focused);
         }
         else
        {
                //其它項目則不是focused的背景色
                tv_id[i].setBackgroundResource(R.drawable.unfocus);
         }
    }
}
tvItem1.setOnFocusChangeListener(new OnFocusChangeListener()
{
    @Override
    public void onFocusChange(View v, boolean hasFocus)
    {       
        mPosition = 1;
        //因進入focus與離開focus都會呼叫onFocusChange(), 故需判定目前hasFocus是否為true
        if(hasFocus == true)
        {
                    setCategoryBackground_focus(mPosition);
         }
         else
         {
                   
         }
     }           
});

tvItem2.setOnFocusChangeListener(new OnFocusChangeListener()
{
    @Override
    public void onFocusChange(View v, boolean hasFocus)
    {       
        mPosition = 2;
        //因進入focus與離開focus都會呼叫onFocusChange(), 故需判定目前hasFocus是否為true
        if(hasFocus == true)
        {
                    setCategoryBackground_focus(mPosition);
         }
         else
         {
                   
         }
     }           
});

tvItem3.setOnFocusChangeListener(new OnFocusChangeListener()
{
    @Override
    public void onFocusChange(View v, boolean hasFocus)
    {       
        mPosition = 3;
        //因進入focus與離開focus都會呼叫onFocusChange(), 故需判定目前hasFocus是否為true
        if(hasFocus == true)
        {
                    setCategoryBackground_focus(mPosition);
         }
         else
         {
                  
         }
     }           
});

沒有留言:

張貼留言