簡體   English   中英

暫時儲存價值

[英]Store value temporarily

我正在顯示有關textview的信息。 我有兩個表,每個表包含信息列表。 如果單擊“表A”按鈕,它將顯示第一個信息,如果再次單擊它,它將顯示第二個信息。 然后,如果我單擊“表b”按鈕,則會顯示b的第一信息,並且該信息隨着點擊次數的增加而增加。 但是,如果我再次單擊“表a”按鈕,則它必須顯示第二個信息,而不是第三個信息。 我不知道該怎么做。 請幫我。 我是新的。 我的代碼如下

case "table a":
    if (j>4) {
        j=1;
    }
    text.setText(String.valueOf(j));
    j++;
    Toast.makeText(getApplicationContext(), 
            "A table information", Toast.LENGTH_SHORT).show();
    break;

case "table b":
    if (i>6) {
        i=1;
    }
    text.setText(String.valueOf(j));
    i++;
    Toast.makeText(getApplicationContext(), 
            "B table information", Toast.LENGTH_SHORT).show();
    break;

我面臨的問題是,如果我單擊“表a”。 它顯示第一個信息。 然后,如果我單擊“表b”,它將顯示表b的第一信息。 然后,如果我單擊“表a”,它將顯示2nd。 如果我從“表b”回到“表a”,我希望它顯示第一信息。 請給一些建議。

Java默認情況下基於零,因此,如果您重置數組,則應將值設置為0,而不是1。

if(j>4){
   j=0;
}

據我了解,如果您切換回表A,則希望顯示與表A相同的內容。 最好的方法是跟蹤活動狀態,並且僅在活動狀態為當前狀態時才更改該值。 最好的方法是使用某種枚舉。 這段代碼可能需要幾個星期的時間,例如使用TABLE_SELECTED.A而不是TABLE_SELECTED,但是它應該可以完成這些調整。

private enum TABLE_SELECTED{A,B};
TABLE_SELECTED activeTAble=A;
case "table a":  if(aIndex>4){
                aIndex=0;
            }
            text.setText(String.valueOf(aIndex));
            if(activeTable==A)
                aIndex++;
            activeTable=A
                Toast.makeText(getApplicationContext(), "on clicked", Toast.LENGTH_SHORT).show();

case "table b":   if(bIndex>6){
                bIndex=1;
            }
            text.setText(String.valueOf(bIndex));
            if(activeTable==B)
                bIndex++;
            activeTable=B
                Toast.makeText(getApplicationContext(), "on clicked", Toast.LENGTH_SHORT).show();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM