This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class SomeActivity extends ActionBarActivity { | |
private ImageView imageView; | |
private int imageViewId = R.drawable.status1; // ImageViewに初期設定されているdrawableのIDを保持しておく | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
imageView = (ImageView) findViewById(R.id.lock_button); | |
imageView.setOnClickListener( | |
new OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
switch (imageViewId) { | |
case R.drawable.status1: | |
// 画像がstatus1の時にクリックしたらstatus2に変更 | |
imageView.setImageDrawable(getResources().getDrawable(R.drawable.status2)); | |
imageViewId = R.drawable.status2; | |
break; | |
case R.drawable.status2: | |
// 画像がstatus2の時にクリックしたらstatus3に変更 | |
imageView.setImageDrawable(getResources().getDrawable(R.drawable.status3)); | |
imageViewId = R.drawable.status3; | |
break; | |
case R.drawable.status3: | |
// 画像がstatus3の時にクリックしたらstatus1に変更 | |
imageView.setImageDrawable(getResources().getDrawable(R.drawable.status1)); | |
imageViewId = R.drawable.status1; | |
break; | |
} | |
} | |
} | |
); | |
} | |
} |
Preferencesを使ってステータス管理する方法もありますが、この方法の方が状態の情報が二重化しませんし、直感的なのでより良いと私は考えます。
0 件のコメント:
コメントを投稿