2017-03-11 9 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 텍스트 뷰에 텍스트를 추가하고 싶지만 분명히, 그것은 NullPointerException이 모든 시간을 반환합니다. 나는 길을 잃고, 나는 무엇이 실패하고 있는지 모른다.

답변

1

이 v.findViewById를 사용하지 않습니다이 코드를 사용해보십시오 세계로 텍스트 뷰 변수를 선언하고에서 onCreate()

에서 그것을 초기화하기 널 (null)이지만, 이 .findViewById

+0

이것은 부분적으로 작동합니다. ActivityTwo.java에서 나는 단편의 새로운 인스턴스를 만듭니다. 이렇게하면 조각이 사라집니다. –

+0

신경 쓰지 마시고, 작동 시키십시오. 감사! –

0

텍스트 뷰는,

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"); 
     } 


    } 
관련 문제