DialogFragment上からのグローバル変数へのアクセスができません。
以下のようにApplicationクラスを継承した、グローバル変数のクラスを作りました。
java
1package com.example.hiromasa_s.viewpagertest; 2 3import android.app.Application; 4 5import java.util.ArrayList; 6 7public class Global extends Application { 8 9 10 private static Global application; 11 12 Integer test; 13 14 public Global getInstance() { 15 return application; 16 } 17 18 19 @Override 20 public void onCreate() { 21 super.onCreate(); 22 application = this; 23 application.initialize(); 24 } 25 26 27 28 private void initialize(){ 29 test = 0; 30 } 31 32 public ArrayList<ListItem> getOrderList() { 33 return order_list; 34 } 35 36 37 38 public Integer getTest() { return test; } 39 40 public void setTest(Integer test) { this.test = test; } 41 42}
Activityからアクセスする場合は、
java
1private Global gb = null; 2 3gb = (Global)this.getApplication();//onCreate内 4
とすることでアクセスできました。しかし、DialogDragmentからのアクセス方法がわかりません。
java
1package com.example.hiromasa_s.viewpagertest; 2 3import android.app.Dialog; 4import android.app.DialogFragment; 5import android.content.DialogInterface; 6import android.os.Bundle; 7import android.support.v7.app.AlertDialog; 8import android.widget.Toast; 9 10import com.example.hiromasa_s.viewpagertest.R; 11 12import static android.content.DialogInterface.*; 13 14public class OrderDialogFragment extends DialogFragment { 15 private Global gb = null; 16 17 @Override 18 public Dialog onCreateDialog(Bundle savedInstanceState){ 19 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 20 return builder.setTitle("テスト") 21 .setMessage("テスト") 22 23 .setPositiveButton("はい", 24 new DialogInterface.OnClickListener(){ 25 public void onClick(DialogInterface dialog, int which){ 26 Toast.makeText(getActivity(), "OK", Toast.LENGTH_SHORT).show(); 27 } 28 } 29 ) 30 31 .create(); 32 33 gb = (Global) ;//ここの部分をどうすべきか分かりません。 34 } 35} 36
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/27 08:11