2011-04-25 4 views
1

있습니다. 나는 새로운 Android 개발자이며 내 경험이 아직 부족합니다. 단추를 클릭 할 때마다 자체적으로 업데이트되는 로그를 사용하여 GUI를 업데이트하려고합니다. 내 질문은 : "로그 #"TextViews setText()와 함께 "p #"TextViews 때 업데이 트하지 않는 이유는 무엇입니까?TextView 메서드 setText()가 onClick() 메서드에서 작동하지 않습니다.

public class ZARP extends Activity 
{ 

    .. 
    private void b(P p, E) 
    { 


     setContentView(R.layout.b); 

     TextView p1 = (TextView)findViewById(R.id.textView1); 
     TextView p2 = (TextView)findViewById(R.id.textView2); 
     TextView p3 = (TextView)findViewById(R.id.textView3); 
     TextView p4 = (TextView)findViewById(R.id.textView4); 
     TextView p5 = (TextView)findViewById(R.id.textView5); 
     TextView p6 = (TextView)findViewById(R.id.textView6); 

     p1.setText("Hello");//WORKS 
     p2.setText("Hello");//WORKS 
     p3.setText("Hello");//WORKS 
     p4.setText("Hello");//WORKS 
     p5.setText("Hello");//WORKS 
     p6.setText("Hello");//WORKS 
    .. 


     Button f = (Button)findViewById(R.id.button2); 



     f.setOnClickListener(new OnClickListener() 
     { 
      public void onClick(View v) 
       {   

        setContentView(R.layout.b); 
        TextView log1 = (TextView)findViewById(R.id.textView7); 
        TextView log2 = (TextView)findViewById(R.id.textView8); 
        TextView log3 = (TextView)findViewById(R.id.textView9); 
        TextView log4 = (TextView)findViewById(R.id.textView10); 




        log4.setText(log3.getText());//DOESN'T WORK 
         log3.setText(log2.getText());//DOESN'T WORK    
        log2.setText(log1.getText());//DOESN'T WORK 
        log1.setText("Hello");//DOESN'T WORK 

    } 
... 

} 

그리고 다음과 같이 b.XML에 대한 XML은 다음과 같습니다 : 다음과 같이 내 코드는

<TableLayout android:id="@+id/tableLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> 
    <TableRow android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tableRow1" android:baselineAligned="true"> 
     <LinearLayout android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/linearLayout6"> 
      <ImageView android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView1" android:src="@drawable/icon"></ImageView> 
     </LinearLayout> 
     <LinearLayout android:id="@+id/linearLayout1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1"> 
      <ImageView android:layout_width="wrap_content" android:id="@+id/imageView2" android:layout_height="wrap_content" android:src="@drawable/icon" android:layout_gravity="right"></ImageView> 
     </LinearLayout> 
    </TableRow> 
    <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
     <TextView android:id="@+id/textView1" android:text="TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"></TextView> 
     <TextView android:id="@+id/textView4" android:text="TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="top"></TextView> 
    </LinearLayout> 
    <LinearLayout android:id="@+id/linearLayout3" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
     <TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"></TextView> 
     <TextView android:id="@+id/textView5" android:text="TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="top"></TextView> 
    </LinearLayout> 
    <LinearLayout android:id="@+id/linearLayout4" android:layout_width="wrap_content" android:layout_height="wrap_content"> 
     <TextView android:text="TextView" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"></TextView> 
     <TextView android:id="@+id/textView6" android:text="TextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="top"></TextView> 
    </LinearLayout> 
    <Button android:layout_height="wrap_content" android:id="@+id/button2" android:layout_width="wrap_content" android:text="@string/f"></Button> 
    <Button android:layout_height="wrap_content" android:id="@+id/button1" android:layout_width="wrap_content" android:text="@string/r"></Button> 
    <LinearLayout android:layout_width="wrap_content" android:id="@+id/linearLayout5" android:layout_height="wrap_content" android:orientation="vertical"> 
     <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/textView10" android:text="TextView"></TextView> 
     <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/textView9" android:text="TextView"></TextView> 
     <TextView android:text="TextView" android:id="@+id/textView8" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> 
     <TextView android:text="TextView" android:id="@+id/textView7" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> 
    </LinearLayout> 
</TableLayout> 

답변

2

onClick에서 setContentView(R.layout.b);을 제거하고 예상대로 나를 위해 일했다.

0
public class ZARP extends Activity 
{ 
     setContentView(R.layout.b); 
     ... 

     private void b(P p, E) 
      {.......... 

add setContentView (R.layout.b); 위와 같이 시도해보십시오.

1

OnClick 메서드에서 setContentView (xxxxxx) 호출을 제거해보십시오. 레이아웃을 이미 설정했습니다. 다시 버튼을 호출하여 모든 청취자 (어쩌면 텍스트 뷰의 핸들도 제거됨)가 제거됩니다.

0

제거 된 setContentView (R.layout.b); 당신은 똑같은 것을 반복하고 있습니다!

관련 문제