2013-06-25 31 views
-6

代碼的Android問題的setContentView()

TextView textView = new TextView(this); 
textView.setTextSize(20); 
textView.append(mytime+ "-"); 

TextView textView2 = new TextView(this); 
textView2.setTextSize(20); 
textView2.setTextColor(-16776961); 
textView2.append(message); 

//set the text view as the activity layout 
setContentView(textView); 
setContentView(textView2); 

實際產出:消息。

我想輸出的是mytime消息。
我該怎麼做?

+0

創建一個線性佈局,並在其中添加這兩TextView的。和setContentView(linearlayout)。 –

+0

你可以使用一個spannable字符串並將文本追加到textview – Raghunandan

+0

先看一看android layout首先 - http://developer.android.com/guide/topics/ui/declaring-layout.html –

回答

1

您的第二個setContentView刪除第一個,這就是爲什麼您只有message而不是mytime - message

要做你想做的事情,你需要添加一個容器setContentView,它本身可以容納多個視圖。

一個這樣的容器是LinearLayout。你必須創建它,設置它的取向水平,並同時添加的TextView:

TextView textView = new TextView(this); 
textView.setTextSize(20); 
textView.append(mytime+ "-"); 

TextView textView2 = new TextView(this); 
textView2.setTextSize(20); 
textView2.setTextColor(-16776961); 
textView2.append(message); 

LinearLayout linear = new LinearLayout(this); 
// Not necessary as it's the default but useful to know 
linear.setOrientation(LinearLayout.HORIZONTAL); 
linear.addView(textView); 
linear.addView(textView2); 


//set the text view as the activity layout 
setContentView(linear); 
0
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    TextView textView1 = new TextView(this); 
    textView1.setTextSize(20); 
    textView1.append("myTime"+ "-"); 
    textView1.setGravity(Gravity.CENTER); 

    TextView textView2 = new TextView(this); 
    textView2.setTextSize(20); 
    textView2.setTextColor(-16776961); 
    textView2.append("message"); 

    LinearLayout layout = new LinearLayout(this); 
    layout.setOrientation(LinearLayout.HORIZONTAL); 
    layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 

    layout.setGravity(Gravity.CENTER); 

    layout.addView(textView1); 
    layout.addView(textView2); 


    setContentView(layout); 

}