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