基本上我有一個數組,其中有2個圖像,好像現在,但最終會有更多。 每隔幾秒從陣列切換器獲取圖像。我堅持使用onClick方法。用戶點擊該圖像時的最終目標新的Activity類打開。每個圖像都有自己的Activity類,所以當用戶點擊它時,它應該被引導到那個特定的類。Android的onClick方法ImageSwitcher
我也得到了一些幫助,昨天
public void onClick(View v) {
Intent n = null;
int id = v.getId();
switch (id){
case R.id.someId:
n = new Intent(getActivity(), FragMent1.class);
break;
case R.id.someOtherId:
n = new Intent(getActivity(), FragMent2.class);
break;
}
我可以設置第一個case語句是「R.id.textSwitcher」,但第二個是問題。因爲我想要的圖像在一個地方會以動畫方式,新R.id ...意味着新的位置也有新的「mSwitcher1.setOnClickListener(新View.OnClickListener()」
public class Animation extends Fragment implements AnimationListener {
public HomeAnimation(){}
private static boolean flag = false;
Animation anim;
private Handler handler;
public ImageSwitcher mSwitcher,mSwitcher1;
int textToShow[] = {R.drawable.dabangg, R.drawable.car };
int messageCount = textToShow.length;
int currentIndex = -1;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.imgswitch, container, false);
mSwitcher = (ImageSwitcher) v.findViewById(R.id.imageSwitcher1);
mSwitcher.setFactory(mFactory);
anim = AnimationUtils.loadAnimation(getActivity(),R.anim.fade_in);
mSwitcher.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent n = null;
int id = v.getId();
// Fragment fragment = null;
//Bundle args = new Bundle();
switch (v.getId()){
case 0:
n = new Intent(getActivity(), Fragment1.class);
getActivity().startActivity(n);
break;
case 1:
n = new Intent(getActivity(), Fragment2.class);
getActivity().startActivity(n);
break;
}
}
});
// set animation listener
anim.setAnimationListener(this);
return v;
}
public void updateTextView() {
int maxIndex = textToShow.length;
Random random = new Random();
int generatedIndex = random.nextInt(maxIndex);
mSwitcher.setImageResource(textToShow[generatedIndex]);
}
這裏是一個什麼我在更新的情況下,如果有人需要它
public void updateTextView() {
int maxIndex = textToShow.length;
Random random = new Random();
final int generatedIndex = random.nextInt(maxIndex);
mSwitcher.setImageResource(textToShow[generatedIndex]);
mSwitcher.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent n = null;
switch(generatedIndex){
case 0:
n = new Intent(getActivity(), Fragment1.class);
getActivity().startActivity(n);
break;
case 1:
n = new Intent(getActivity(), Fragment2.class);
getActivity().startActivity(n);
break;
case 2:
n = new Intent(getActivity(), Fragment3.class);
getActivity().startActivity(n);
break;
}
}
});
你的問題沒有問題。 – ElDuderino
最終目標,當用戶點擊該圖像時,新的活動類將打開。每個圖像都有自己的Activity類,所以當用戶點擊它時,它應該被引導到那個特定的類。 – Mihir
問題是你得到的'id'是'ImageSwitcher'的''id',但你需要當前顯示的實際'Image'?如果是這樣,那麼也許[getDisplayedChild()](http://developer.android.com/reference/android/widget/ViewAnimator.html#getDisplayedChild())是你想要的 – codeMagic