2013-10-20 59 views
1

我遇到了一個問題。我不知道它應該是這樣或者我錯過了一些東西。
我想將其他活動的textview文本改爲...
1.充實其他活動的佈局。
2.獲得關於TextView的
我這樣做TextView的
3.呼叫的setText(),但是當我切換回它使用佈局文字是一樣的以前的活動。
因此,我冒昧地在一個新的項目上檢查它,只有「hello world」textview on mainactivity和另一個活動來更改「hello world」textview的文本。
但我得到了同樣的結果。文字沒有改變。它甚至沒有給我例外或任何東西。應用正常運行。我不明白爲什麼會發生這種情況?
代碼
MainActivity.java
充氣佈局和更改textview的值

public class MainActivity extends Activity {

public static TextView tv; 
@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    tv = (TextView) findViewById(R.id.lolll); 
    tv.setOnClickListener(new View.OnClickListener() 
    { 

     @Override 
     public void onClick(View v) 
     { 
      startActivity(new Intent(MainActivity.this, MonActivity.class)); 
     } 
    }); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

}

MonActivity.java - 活動#2

public class MonActivity extends Activity {

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_mon); 
    LayoutInflater inf = getLayoutInflater(); 
    RelativeLayout rel = (RelativeLayout) inf.inflate(R.layout.activity_main, null); 
    TextView tv = (TextView) rel.findViewById(R.id.lolll); 
    tv.setText("finger crossed"); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.mon, menu); 
    return true; 
} 

}

回答

1

你不能(您可以通過靜態視圖定義做到這一點,但不應該這樣做!)直接從另一個活動改變視活動的價值/屬性。使用startActivityForResult並傳遞並獲取您的更改/新值onActivityResult方法。

我沒有在這裏分享任何示例或鏈接。你可以找到許多樣本,只需搜索startActivityForResult;)

編輯:如果您在活動中爲佈局膨脹,它會創建一個視圖的新實例。所以你對膨脹佈局的改變只會應用到那個實例上。

我希望我的評論可以幫助你。

+0

好的。我知道如何改變文字。 LOL:P。但我想知道爲什麼我不能這樣做。在答案的編輯中回答。謝謝。 – johntheripp3r

+0

那麼你爲什麼不提倡那些幫助你解決問題的人,只要你支持他的答案就可以了。 –

+0

@BetteDevine我已經接受了他的回答。我也會這樣做。 ;) – johntheripp3r