0
public class MainActivity extends Activity {
TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
setContentView(R.layout.activity_main);
textview = (TextView)findViewById(R.id.textView6);
//other method,startservice()and so on.
//and there is BroadcastReceiver to receive a flag from service.
public static class Receiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intents) {
intents.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
textview.setText("set");
這裏是我的代碼。 所有我想要的是textview.setText()onReceive。訪問非靜態類的靜態類
我第一次嘗試,textview是靜態的。 但是另一種方法正在運行時,靜態變量似乎被殺死。 textview被設置爲空,不能設置settext。
所以我嘗試讓textview不是靜態的。 但還有第二個問題。 當我這樣做,我必須得到新的MainActivity()訪問textview。 這沒有奏效well.complicated。
如何從靜態方法獲取textview。
非常感謝呢!我知道有靜態廣播不好。但是,當onReceive被調用時,它需要是靜態的。我認爲有廣播接收者類作爲其他編譯文件,那麼設置文本就要複雜一些。如果你有時間,請教我如何。 – user2027811 2013-02-09 11:39:49
爲什麼'BroadcastReceiver'需要是靜態的?一般情況不應該如此 – iTech 2013-02-09 20:40:55