0
Android Viewpager,按鈕點擊或任何其他關於Viewpager
以及你可以在圖像中看到。按鈕無法正常工作。 這個問題怎麼發生我不明白。
我在做一個測驗應用程序。 如果用戶點擊錯誤的答案,我想讓按鈕的背景顏色爲紅色,否則點擊true的答案,按鈕的背景顏色會變成綠色。
在用戶從列表中選擇的第一頁上,按鈕正常工作。在頁面按鈕滑動後出現錯誤。總是會改變以前的頁面按鈕顏色。
我認爲這是因爲,viewpager不知道哪個按鈕的顏色應該改變我的控制方法後。
這是我在viewpager活動控制方法:
public void click(View v) {
int c = 0;
switch (v.getId()) {
case R.id.cevap1a:
c = 1;
controlanswer(c);
break;
case R.id.cevap2b:
c = 2;
controlanswer(c);
break;
case R.id.cevap3c:
c = 3;
controlanswer(c);
break;
case R.id.cevap4d:
c = 4;
controlanswer(c);
break;
case R.id.cevap5e:
c = 5;
controlanswer(c);
break;
default:
break;
}
}
public void controlanswer(int a) {
int d = mViewPager.getCurrentItem();
int answer = mquestiondatabase.get(d).gettrueanswer();
if (a == answer) {
truecolor(a);
} else {
wrongcolor(a);
truecolor(answer);
}
}
public void wrongcolor(int wrong) {
cevapA = (TextView) mViewPager.findViewById(R.id.cevap1a);
cevapB = (TextView) mViewPager.findViewById(R.id.cevap2b);
cevapC = (TextView) mViewPager.findViewById(R.id.cevap3c);
cevapD = (TextView) mViewPager.findViewById(R.id.cevap4d);
cevapE = (TextView) mViewPager.findViewById(R.id.cevap5e);
switch (wrong) {
case 1:
cevapA.setBackgroundResource(R.drawable.red_buton_clicked);
break;
case 2:
cevapB.setBackgroundResource(R.drawable.red_buton_clicked);
break;
case 3:
cevapC.setBackgroundResource(R.drawable.red_buton_clicked);
break;
case 4:
cevapD.setBackgroundResource(R.drawable.red_buton_clicked);
break;
case 5:
cevapE.setBackgroundResource(R.drawable.red_buton_clicked);
break;
default:
break;
}
}
public void truecolor(int answer) {
cevapA = (TextView) findViewById(R.id.cevap1a);
cevapB = (TextView) findViewById(R.id.cevap2b);
cevapC = (TextView) findViewById(R.id.cevap3c);
cevapD = (TextView) findViewById(R.id.cevap4d);
cevapE = (TextView) findViewById(R.id.cevap5e);
AnimationDrawable rocketAnimation;
switch (answer) {
case 1:
cevapA.setBackgroundResource(R.drawable.yesilflash);
rocketAnimation = (AnimationDrawable) cevapA.getBackground();
rocketAnimation.start();
break;
case 2:
cevapB.setBackgroundResource(R.drawable.yesilflash);
rocketAnimation = (AnimationDrawable) cevapB.getBackground();
rocketAnimation.start();
break;
case 3:
cevapC.setBackgroundResource(R.drawable.yesilflash);
rocketAnimation = (AnimationDrawable) cevapC.getBackground();
rocketAnimation.start();
break;
case 4:
cevapD.setBackgroundResource(R.drawable.yesilflash);
rocketAnimation = (AnimationDrawable) cevapD.getBackground();
rocketAnimation.start();
break;
case 5:
cevapE.setBackgroundResource(R.drawable.yesilflash);
rocketAnimation = (AnimationDrawable) cevapE.getBackground();
rocketAnimation.start();
break;
default:
break;
}
}
}
嗯,我結合我的老問題,在一個問題
什麼在你的logcat的?你會得到什麼確切的錯誤信息? – agamov
以及沒有錯誤。 – mehmet