簡體   English   中英

TextView SetText

[英]TextView SetText

我有個問題。
在“ textView.setText(money + "$"); “行中,我的程序崩潰了。
moneyinttextView1是我的TextView ID

public TextView textView;
public void onCashClick(View view) {
            money++;
            textView = (TextView) view.findViewById(R.id.textView1);
            textView.setText(money + "$");
        }

感謝您的幫助,對不起我的英語不好。

以下行使您的應用程序崩潰。 因為單擊發送的視圖是按鈕,而不是容器。 因此,該按鈕不包含您的textview。 您應該在該行上獲取NullPointerException。 相反,您應該在onCreate方法上定義textView:

textView = (TextView) findViewById(R.id.textView1);

並且只有在onCashClick調用之后:

在按鈕上單擊。

更新:將您的代碼更改為以下內容,

public TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    textView = (TextView) view.findViewById(R.id.textView1);
   }

public void onCashClick(View view) {
        money++;
        textView.setText(money + "$");
    }

因為用於綁定文本視圖的視圖是單擊按鈕,而不是使用view.findViewById()(如果您處於活動狀態),只需使用findViewById;如果您處於片段中,則使用rootView。

只需刪除findViewByID之前的view即可

textView = (TextView) findViewById(R.id.textView1);

暫無
暫無

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

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