アンドロイドで。私の活動はこんな感じです。
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 は null ではありません。
なぜテキストビューはnullですか?
EDIT 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" />
また、同じ textview.settext を使用するアクティビティのメソッドは null ではありません。ありがとう。
EDIT2 この変数を保存する必要があることがわかります。では、VIEW変数を保存する最良の方法は何ですか? SharedPreferences は VIEW 変数を保存できないようです。