2011-09-17 46 views
3

我正在嘗試更改單擊按鈕上的textview文本。下面是我的代碼的要點,但它似乎並沒有工作。難道我做錯了什麼。在此先感謝在點擊按鈕時更改TextView文本(Android)

//xml 
<TextView android:id="@+id/textView2" android:text="blah blah blah"></TextView> 
<Button android:text="Wrong answer." android:onClick="wrongAns" android:clickable="true"></Button> 

//code 
TextView theCorrectAnsTextView = (TextView)findViewById(R.id.textView2); 

public void wrongAns(View v) 
{ 
    theCorrectAnsTextView.setText("TextView text has changed!"); 
} 
+0

當您單擊按鈕發生了什麼事? –

+0

從哪裏調用'wrongAns(View v)'函數?請提供更多細節。 – Shafi

+0

公用類applicationName extends Activity之外的應用程序崩潰 – drdrdr

回答

10
  1. 首先你給按鈕像buttonclick一樣onclick事件。
  2. 在java文件中只寫下面的代碼。

    public void buttonClick(View v) 
    { 
    TextView tv = (TextView)findViewById(R.id.textView1); 
    tv.setText("Welcome to android"); 
    } 
    

希望這會幫助你。

1

也許你需要初始化按鈕。 如果它不工作,只是做它在Java代碼:

Button btn = (Button) findViewById(YourId); 
btn.setonClickListener(listener); 

public onClickListener listener = new View.OnclickListener{ 
     onclick(View v){ 
     // do your thing 
     } 
} 

類似的東西,我不記得不食指正。

0

在與背景的文本框,你需要使用

public void OnMyButtonClick (View v) 
{ 
    TextView tv = (TextView) v.getRootView().findViewById(R.id.textVal); 
    if (tv != null) 
     {tv.setText("Hallo");} 
} 
0

使用的setContentView一個按鈕,一個簡單的觀點,請What is setContentView(R.layout.main)?

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mStatusTextView = (TextView) this.findViewById(R.id.status_text_view); 
} 
+0

請編輯您的答案並添加一些解釋,因爲不提供代碼的答案,有時可能會被刪除。 – WebDevBooster

相關問題