2016-10-10 72 views
-4

我想使用setText函數設置一個值。但我的代碼不起作用。無法通過Android中的setText函數設置文本

activity_my.xml

<Button 
    style="@android:style/Widget.DeviceDefault.ActionBar.TabBar" 
    android:theme="@android:style/Animation.Activity" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Select" 
    android:id="@+id/button1" 
    android:textColorHighlight="#ffff7dd0" 
    android:textStyle="bold" 
    android:textColor="#ff1fff5f" 
    android:clickable="true" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="129dp" 
    android:onClick="BookChapter"/>@ 

MyActivity.java

public class MyActivity extends Activity { 
    @Override protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_my); 
    } 

    public void BookChapter(View view){ 
    setContentView(R.layout.activity_secbg);  
    } 
} 

activity_secbg.xml

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Chapter 01" 
    android:id="@+id/button01" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentStart="true" 
    android:onClick="BookContent"/> 

show_content.xml

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Existing Text"` 
    android:id="@+id/textView5" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@+id/imageView" 
    android:editable="true" /> 

show_content.java

public class Show_Content extends Activity { 
    public TextView myAwesomeTextView; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 

    public void BookContent(View view) { 
     setContentView(R.layout.show_content); 
     switch (view.getId()) { 
     case (R.id.button01): 
     myAwesomeTextView = (TextView) findViewById(textView5); 
     myAwesomeTextView.setText("Awesome"); 
     break; 
     } 
    } 
    } 

有誰請幫助檢查爲什麼的setText沒有對這一計劃的工作?

+0

請使用正確的markdown格式化您的代碼 –

+0

請更具體 - 哪個字段?也請格式化您的代碼。 – tpk

回答

0

您正在從另一個java調用java中的方法..返回文本的方法是show_content類。

您正在調用MyActivity類中的方法。

因此您使用的BookChapter方法不是一個設置文本的方法,它只是調用setContentview方法。另外你錯過了第二個活動中的setContentView方法

你有兩個活動,但只有一個方法被解僱,或者你寫的行中缺少很多代碼,或者你必須開始學習android在編程之前如何工作,我建議你those videos。在我看來,他們是最好的初學者

好運

+0

public void BookContent(View view){ setContentView(R.layout.show_content); switch(view.getId()){ case(R.id.button01): myAwesomeTextView =(TextView)findViewById(textView5); myAwesomeTextView.setText(「Awesome」); 休息; } } – KrishnaTerminal

+0

我需要將BookContent()代碼放在MyActive.java文件中,看起來好像工作正常。 – KrishnaTerminal

0

Show_Content活動的onCreate加入這一行

setContentView(R.layout.show_content); 

應該是:

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
setContentView(R.layout.show_content); 
    } 
0

你沒有得到任何從您的活動中查看。此外,您忘記了在活動中設置佈局。

public TextView myAwesomeTextView; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.show_content); 
     myAwesomeTextView = (TextView) findViewById(R.id.textView5); 
     myAwesomeTextView.setText("Awesome"); 

    }