2017-03-11 26 views
0

我遇到了TextView的問題。按下按鈕後,我想將某些內容附加到該TextView,但顯然一直爲空。TextView爲空

fragment_one.xml

.... 
<TextView 
    android:id="@+id/reply" 
    android:layout_below="@+id/test" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/reply"/> 
<Button android:text="@string/_0" 
     android:id="@+id/_0" 
     android:onClick="handleButtons"/> 
.... 

ActivityTwo.java

.... 
public void handleButtons(View v){ 
    setContentView(R.layout.fragment_one); 
    TextView tv = (TextView) v.findViewById(R.id.reply); 
    if(v.getId() == R.id._0){ 
     tv.append("hi"); 
    } 
.... 

我要追加一些文本到reply TextView的,但顯然,它返回的NullPointerException所有的時間。我迷路了,我不知道什麼是失敗的。

回答

1

不使用v.findViewById,但this.findViewById

+0

這部分工作。在ActivityTwo.java上創建一個新的片段實例。當這樣做時,片段消失。 –

+0

沒關係,讓它工作。謝謝! –

0

的TextView是空

聲明你的TextView變量全球和在OnCreate()

intialize它試試這個代碼

public class MainActivity extends AppCompatActivity{ 
    TextView tv; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    tv = (TextView)findViewById(R.id.reply); 

    } 
    public void handleButtons(View v){ 

     if(v.getId() == R.id._0){ 
      tv.append("hi"); 
     } 


    }