我正在製作一個應用程序,它具有帶文本的圖像網格,並且每個應用程序都打開不同的活動。它工作正常,但只是爲了設計目的,我想用switch statements
(我認爲我可以做)取代if-else statements
,但它不起作用。現在我的工作代碼來設置標籤的每個圖像是:If-else working,switch not
if(position == 0)
textView.setText(R.string.zero);
else if(position == 1)
textView.setText(R.string.one);
else if(position == 2)
textView.setText(R.string.two);
else if(position == 3)
textView.setText(R.string.three);
else if(position == 4)
textView.setText(R.string.four);
else if(position == 5)
textView.setText(R.string.five);
ect....
我想用:
switch(position)
case 0:
textView.setText(R.string.zero);
case 1:
textView.setText(R.string.one);
case 2:
textView.setText(R.string.two);
case 3:
textView.setText(R.string.three);
case 4:
textView.setText(R.string.four);
,但是當我這樣做,永遠的標籤是我定義的最後一個(在我例如它將是「四」)。對於每個對象,我也有一個類似的代碼,用position
變量來啓動不同的intent
,但是,它會做相反的處理,並使每個意圖等於第一個意圖。我的語法錯了,還是這不適合我的情況?
你需要'打破;'的'case'每個語句之後,否則就流下來,所以您總能獲得最後的情況。 –
@SotiriosDelimanolis把它作爲答案 – Blackbelt
謝謝大家!我沒有意識到當你沒有'return'時你需要'break'' –