gpt4 book ai didi

java - 为什么这个静态字段为空?

转载 作者:行者123 更新时间:2023-11-30 03:47:14 27 4
gpt4 key购买 nike

在安卓上。我的 Activity 是这样的。

public class MainActivity extends Activity {

static TextView textview;
static int aaa = 1;

@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);

//其他方法,startservice()等。

并且有 BroadcastReceiver 从服务接收标志。

     public static class Receiver extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intents) {
intents.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
textview.setText("set")//throw null point
Log.d("aaa","aaa is" + aaa);

这样,在onReceiver中,textview为null。作为测试,int aaa 不为空。

为什么 textview 为空?

编辑Texttiew xml是

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/adview"
android:layout_alignParentLeft="true"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />

并且 Activity 中使用相同 textview.settext 的方法不为空。谢谢。

编辑2我知道我应该保存这个变量。那么,保存 VIEW 变量的最佳方法是什么?SharedPreferences 似乎无法保存 VIEW 变量。

最佳答案

此线程表明具有静态字段可能是一个问题。通常,android 会终止您的应用程序……并且返回时可能未设置静态变量。

static variable null when returning to the app

关于java - 为什么这个静态字段为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14784097/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com