2014-01-25 35 views
1

我想要做的就是能夠從任何其他類寫入我的textview。這可能是簡單化和透露我的腳本的背景,但我的MainActivity類別看起來像設置任何類的textview

public class MainActivity extends Activity { 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     tv.DoIt("i love you"); 
     DoStuff(7); // how many secs between alarms 

    } 

,我已經寫了所有我試圖做的是設置TextView的,但在MainActivity不會編譯

public class tv extends Activity{ 
TextView textElement; 
public void DoIt(String zzmsg) 
{ 
    setContentView(R.layout.main); 
    TextView textElement = (TextView) findViewById(R.id.affirmation); 
    textElement.setText(zzmsg); 
} 
} 
另一個小類
+0

電視是一個活動課,你有'tv.DoIt(「我愛你」);'錯了。閱讀文檔。 http://developer.android.com/training/basics/firstapp/index.html。您需要在ManinActivity中使用textview,並且您可以使用intent在活動之間傳遞值並將文本設置爲MainActivity中的textview – Raghunandan

+0

您必須創建電視對象,然後可以調用'tv.DoIt(「我愛你」);另一件事「我不是在Android的專業知識」,但我認爲電視類不應該'擴展活動' – Salah

+0

我的問題是我有一個重複警報在另一個類,我想每個警報不同的消息,我不能返回mainactivity直到消息之後,所以我需要在重複報警類中進行文字瀏覽。 – sunirmalya

回答

0

您可以使用此代碼:

變化的onCreate ...

private View mMainView; 

@Override 
protected void onCreate(Bundle arg0) { 
    super.onCreate(arg0); 
    mMainView = getLayoutInflater().inflate(R.layout.activity_app_share, null); 
    setContentView(mMainView); 
} 

public void fillTextView(View view,int resId, String text) 
{ 
    TextView textElement = (TextView) view.findViewById(resId); 
    textElement.setText(text); 
} 

通話功能:

fillTextView(mMainView,R.id.affirmation , "i love you"); 
+0

謝謝艾哈邁德,我把fillTextView放在我的MainActivity中,並試圖從另一個類中的另一個方法調用函數,它提出了非靜態方法不能從靜態類錯誤調用 - 我很抱歉,我正在嘗試理解 – sunirmalya

+0

好吧我把它編譯通過把它放在外部類,它運行,但沒有結果 – sunirmalya

+0

任何更多的幫助請艾哈邁德? – sunirmalya

0

您不應該訪問在這樣的不同活動中創建的視圖。此外,爲什麼需要這樣做,因爲一次只顯示1個活動(電視或主要活動)。

如果你想在另一個活動中設置某些東西,你應該使用意圖。

+0

它不是我想創建另一個活動,但我不能使用TextView,除非它是一個活動。我在另一個課程中做了大部分的方法,並且在我想寫入textview之後,我無法弄清楚如何從主要活動中做到這一點。 – sunirmalya