【发布时间】:2019-08-26 16:13:32
【问题描述】:
我正在开发一个 Android 应用程序,并尝试在 TextView 中显示一年中的所有月份。我需要通过按钮单击每个月显示一个。
这是我认为它可以工作的方式。
package com.flixarts.ar.englishnow;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import org.w3c.dom.Text;
public class saludos extends AppCompatActivity {
private TextView espacioFrases;
private Button next;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_saludos);
monthsDisplay =(TextView)findViewById(R.id.espacioFrases);
next = (Button)findViewById(R.id.next);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//formularFrases();
}
});
}
String [] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September","October", "November", "December"};
String monthToDisplay = "";
public void showMonths(){
for (int i=0 ; i<frases.length; i = i+1) {
switch (i) {
case 0 :
monthToDisplay = months[i];
monthDisplay.setText(monthToDisplay);
case 1 :
fraseamostrar = months[i];
monthDisplay.setText(monthToDisplay);
case 2 :
fraseamostrar = months[i];
monthDisplay.setText(monthToDisplay);
case 3 :
fraseamostrar = months[i];
monthDisplay.setText(monthToDisplay);
case 4 :
fraseamostrar = months[i];
monthDisplay.setText(monthToDisplay);
case 5 :
fraseamostrar = months[i];
monthDisplay.setText(monthToDisplay);
case 6 :
fraseamostrar = months[i];
monthDisplay.setText(monthToDisplay);
}
}
}
这里的问题是只显示第一个月,一月,因为每次我调用 showMonths() 方法时,变量“i”都会初始化为 0,所以总是会显示第一个月。 我想保存变量 i 的值并加一(i++),这样我就可以显示所有月份,但每次调用函数时,我都会初始化为 0。
【问题讨论】:
-
当你点击按钮时,你想显示一月到十二月吗?
-
请添加中断;每个 case 语句结束后的语句
标签: java android for-loop button switch-statement