2017-03-11 13 views
0

TextViewに問題があります。ボタンを押した後、そのTextViewに何かを追加したいのですが、明らかにnullです。TextViewがnullです

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を使用しないでこのコードを試してみてください、しかし、nullです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"); 
     } 


    } 
関連する問題