使用月中某天的数组中包含特定项目的 TextView
TextView with a specific item from a array using Day of the Month
我是新手,我需要做一个应用程序,在每个月的每一天向用户显示一个独特的短语,比如今天是 25,textView 应该显示 "A potato." 明天 textView 应该显示 "A carrot." 和下个月,第 25 天,显示相同的土豆,第 26 天显示相同的胡萝卜。
这是我的代码:
当我在 phone 上启动它时,它什么也没做。
public class MainActivity extends AppCompatActivity {
String q;
Resources con;
TextView frase1;
TextView frase2;
TextView frase3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
frase1 = (TextView)findViewById(R.id.textView1);
frase2 = (TextView)findViewById(R.id.textView2);
frase3 = (TextView)findViewById(R.id.TextView3);
con = getResources();
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_MONTH);
if (Calendar.DAY_OF_MONTH == 1){
q = con.getStringArray(R.array.dia)[1];
frase1.setText(q);
}
if (Calendar.DAY_OF_MONTH == 2){
q = con.getStringArray(R.array.dia)[2];
frase1.setText(q);
}
if (Calendar.DAY_OF_MONTH == 3){
q = con.getStringArray(R.array.dia)[3];
frase1.setText(q);
}
}
}
这没有回答您的问题,但您可以将所有 if 替换为 frase1.setText(con.getStringArray(R.array.dia)[day]);
另外,尝试使用日志来查找导致问题的值(例如,Log.i(TAG,day);)
我认为您正在输入 if statement
的 none,因此 TextView
没有设置任何内容。尝试使用如下所示的 else statement
。试试这个 -
public class MainActivity extends AppCompatActivity {
String q;
Resources con;
TextView frase1;
TextView frase2;
TextView frase3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
frase1 = (TextView)findViewById(R.id.textView1);
frase2 = (TextView)findViewById(R.id.textView2);
frase3 = (TextView)findViewById(R.id.TextView3);
con = getResources();
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_MONTH);
if (day == 1){
q = getResources().getStringArray(R.array.dia)[1];
frase1.setText(q);
}
else if (day == 2){
q = getResources().getStringArray(R.array.dia)[2];
frase1.setText(q);
}
else if (day == 3){
q = getResources().getStringArray(R.array.dia)[3];
frase1.setText(q);
} else {
q = getResources().getStringArray(R.array.dia)[3];
frase1.setText(q);
}
}
我是新手,我需要做一个应用程序,在每个月的每一天向用户显示一个独特的短语,比如今天是 25,textView 应该显示 "A potato." 明天 textView 应该显示 "A carrot." 和下个月,第 25 天,显示相同的土豆,第 26 天显示相同的胡萝卜。
这是我的代码:
当我在 phone 上启动它时,它什么也没做。
public class MainActivity extends AppCompatActivity {
String q;
Resources con;
TextView frase1;
TextView frase2;
TextView frase3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
frase1 = (TextView)findViewById(R.id.textView1);
frase2 = (TextView)findViewById(R.id.textView2);
frase3 = (TextView)findViewById(R.id.TextView3);
con = getResources();
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_MONTH);
if (Calendar.DAY_OF_MONTH == 1){
q = con.getStringArray(R.array.dia)[1];
frase1.setText(q);
}
if (Calendar.DAY_OF_MONTH == 2){
q = con.getStringArray(R.array.dia)[2];
frase1.setText(q);
}
if (Calendar.DAY_OF_MONTH == 3){
q = con.getStringArray(R.array.dia)[3];
frase1.setText(q);
}
}
}
这没有回答您的问题,但您可以将所有 if 替换为 frase1.setText(con.getStringArray(R.array.dia)[day]);
另外,尝试使用日志来查找导致问题的值(例如,Log.i(TAG,day);)
我认为您正在输入 if statement
的 none,因此 TextView
没有设置任何内容。尝试使用如下所示的 else statement
。试试这个 -
public class MainActivity extends AppCompatActivity {
String q;
Resources con;
TextView frase1;
TextView frase2;
TextView frase3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
frase1 = (TextView)findViewById(R.id.textView1);
frase2 = (TextView)findViewById(R.id.textView2);
frase3 = (TextView)findViewById(R.id.TextView3);
con = getResources();
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_MONTH);
if (day == 1){
q = getResources().getStringArray(R.array.dia)[1];
frase1.setText(q);
}
else if (day == 2){
q = getResources().getStringArray(R.array.dia)[2];
frase1.setText(q);
}
else if (day == 3){
q = getResources().getStringArray(R.array.dia)[3];
frase1.setText(q);
} else {
q = getResources().getStringArray(R.array.dia)[3];
frase1.setText(q);
}
}