那里。我是一名新的Android开发人员,我的经验仍然很缺乏。我正在尝试通过每次单击按钮时更新自身来更新GUI。我的问题是:当“p#”TextViews出现时,为什么“log#”TextViews不会用setText()更新?我的代码如下:
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>
答案 0 :(得分:2)
从setContentView(R.layout.b);
移除onClick
,对我来说,它按预期工作。
答案 1 :(得分:1)
尝试在OnClick方法中删除调用setContentView(xxxxxx)。您已经设置了布局。通过再次调用它,按钮的所有侦听器(甚至可能是textViews的句柄,不确定)都将被删除。
答案 2 :(得分:0)
public class ZARP extends Activity
{
setContentView(R.layout.b);
...
private void b(P p, E)
{..........
添加setContentView(R.layout.b);像上面那样试试。
答案 3 :(得分:0)
删除了setContentView(R.layout.b);你正在重复同样的事情!