1

我又需要帮助了。

我正在尝试获取当前日期,并将一些特定文本设置为 textviews。但是我的 IF 语句不能正常工作。

实际上,它将MONDAY-s文本设置为每天,并在每天写“Reede”(星期五)。所以,这让我很困惑,因为我是 Android 的新手。我做错了什么?

代码:

private void setupTunniplaan() {

    TextView paev = (TextView) findViewById(R.id.esmasp);

    String[] tunnidesmasp = {"Matemaatika", "Bioloogia", "Füüsika", "Kehaline", "Geograafia", "Inglise keel", "Ajalugu","",""};
    String[] tunnidteisip = {"Inglise keel", "Vene keel", "Karjääri õpetus", "Karjääri õpetus", "Matemaatika", "Eesti keel", "Kirjandus","", ""};
    String[] tunnidkolmap = {"Füüsika", "Kehaline", "Keemia", "Matemaatika", "Kirjandus", "Kirjandus", "Kirjandus", "Inglise keel", "", ""};
    String[] tunnidneljap = {"Inglise keel", "Ajalugu", "Matemaatika", " Muusika", "Geograafia", "Bioloogia", "Geograafia", "", ""};
    String[] tunnidreede = {"Keemia", "UTA", "Eesti keel", "Matemaatika", "Vene keel", "Bioloogia", "Soome keel", "", ""};


    Calendar kal = Calendar.getInstance();
    int day = kal.get(Calendar.DAY_OF_WEEK);
    if (day == Calendar.MONDAY); {
        tunnid(tunnidesmasp[0], tunnidesmasp[1], tunnidesmasp[2],tunnidesmasp[3], tunnidesmasp[4], tunnidesmasp[5],
                tunnidesmasp[6],tunnidesmasp[7], tunnidesmasp[8] );
        paev.setText("Esmaspäev");


    }
    if (day == Calendar.TUESDAY); {
        tunnid(tunnidteisip[0], tunnidteisip[1], tunnidteisip[2],tunnidteisip[3], tunnidteisip[4], tunnidteisip[5],
                tunnidteisip[6],tunnidteisip[7], tunnidteisip[8] );
        paev.setText("Teisipäev");
    }
        if (day == Calendar.WEDNESDAY); {
            tunnid(tunnidkolmap[0], tunnidkolmap[1], tunnidkolmap[2],tunnidkolmap[3], tunnidkolmap[4], tunnidkolmap[5],
                    tunnidkolmap[6],tunnidkolmap[7], tunnidkolmap[8] );
            paev.setText("Kolmapäev");
        }

    if (day == Calendar.THURSDAY); {
        tunnid(tunnidneljap[0], tunnidneljap[1], tunnidneljap[2],tunnidneljap[3], tunnidneljap[4], tunnidneljap[5],
                tunnidneljap[6],tunnidneljap[7], tunnidneljap[8] );
        paev.setText("Neljapäev");
    }
    if (day == Calendar.FRIDAY); {
        tunnid(tunnidreede[0], tunnidreede[1], tunnidreede[2],tunnidreede[3], tunnidreede[4], tunnidreede[5],
                tunnidreede[6],tunnidreede[7], tunnidreede[8]);
        paev.setText("Reede");
    }

    if (day == Calendar.SATURDAY); {
        tunnid(tunnidesmasp[0], tunnidesmasp[1], tunnidesmasp[2],tunnidesmasp[3], tunnidesmasp[4], tunnidesmasp[5],
                tunnidesmasp[6],tunnidesmasp[7], tunnidesmasp[8] );
    }

    if (day == Calendar.SUNDAY); {
        tunnid(tunnidesmasp[0], tunnidesmasp[1], tunnidesmasp[2],tunnidesmasp[3], tunnidesmasp[4], tunnidesmasp[5],
                tunnidesmasp[6],tunnidesmasp[7], tunnidesmasp[8] );
    }

    return;




}

//对不起,如果我在问愚蠢的问题。

编辑:谢谢。TextView paev 现在工作正常。

但是 tunnid() 仍然无法正常工作。您可以在每个 if 语句中将其视为第一件事。我的代码在每种情况下仍然有效 MONDAY-s "tunnid()"。所以, paev.setText() 工作正常,但 tunnid() 不是。

tunnid() 的代码:

public void tunnid(String esimenetund, String teinetund, String kolmastund, String neljastund, String viiestund,
    String kuuestund, String seitsmestund, String kaheksastund, String yheksastund) {

TextView tund1 = (TextView) findViewById(R.id.tund1);
TextView tund2 = (TextView) findViewById(R.id.tund2);
TextView tund3 = (TextView) findViewById(R.id.tund3);
TextView tund4 = (TextView) findViewById(R.id.tund4);
TextView tund5 = (TextView) findViewById(R.id.tund5);
TextView tund6 = (TextView) findViewById(R.id.tund6);
TextView tund7 = (TextView) findViewById(R.id.tund7);
TextView tund8 = (TextView) findViewById(R.id.tund8);
TextView tund9 = (TextView) findViewById(R.id.tund9);

TextView ylesanne1 = (TextView) findViewById(R.id.yl1);
TextView ylesanne2 = (TextView) findViewById(R.id.yl2);
TextView ylesanne3 = (TextView) findViewById(R.id.yl3);
TextView ylesanne4 = (TextView) findViewById(R.id.yl4);
TextView ylesanne5 = (TextView) findViewById(R.id.yl5);
TextView ylesanne6 = (TextView) findViewById(R.id.yl6);
TextView ylesanne7 = (TextView) findViewById(R.id.yl7);
TextView ylesanne8 = (TextView) findViewById(R.id.yl8);
TextView ylesanne9 = (TextView) findViewById(R.id.yl9);

tund1.setText(esimenetund);
tund2.setText(teinetund);
tund3.setText(kolmastund);
tund4.setText(neljastund);
tund5.setText(viiestund);
tund6.setText(kuuestund);
tund7.setText(seitsmestund);
tund8.setText(kaheksastund);
tund9.setText(yheksastund);

ylesanne1.setText("");
ylesanne2.setText("");
ylesanne3.setText("");
ylesanne4.setText("");
ylesanne5.setText("");
ylesanne6.setText("");
ylesanne7.setText("");
ylesanne8.setText("");
ylesanne9.setText("");  

}

4

1 回答 1

1

每个 if 语句后都有分号 (;):

if (day == Calendar.TUESDAY);

这意味着 if 语句没有要执行的块。您的应用程序将在每个 if 语句之后执行每个块。

删除分号 (;)

于 2013-09-17T19:04:33.587 回答