{"id":36,"date":"2015-06-26T12:36:15","date_gmt":"2015-06-26T03:36:15","guid":{"rendered":"http:\/\/medicalfields.jp\/blog\/?p=36"},"modified":"2017-03-02T14:04:24","modified_gmt":"2017-03-02T05:04:24","slug":"dialog%e3%81%a7viewpager","status":"publish","type":"post","link":"https:\/\/medicalfields.jp\/blog\/java\/dialog%e3%81%a7viewpager\/","title":{"rendered":"Dialog\u3067Viewpager"},"content":{"rendered":"<p>Dialog\u3067Viewpager\u3092\u4f7f\u304a\u3046\u3068\u3057\u305f\u6642\u306e\u304a\u8a71\u3002<\/p>\n<p>\u3069\u3046\u3082AlertDialog.Builder\u3092\u4eca\u307e\u3067\u4f7f\u3063\u3066\u305f\u306e\u3060\u304c\u3001\u3068\u3046\u3068\u3046\u4e0d\u5177\u5408\uff1f\u304c\u51fa\u3066\u3057\u307e\u3063\u305f\u3002<\/p>\n<p>\u4eca\u56deDialog\u3067Viewpager\u3092\u4f7f\u3046\u305f\u3081\u306b\u4ed6\u306e\u3084\u3064\u306e\u3088\u3046\u306b<\/p>\n<pre>\/\/ \u30ab\u30b9\u30bf\u30e0\u30d3\u30e5\u30fc\u3092\u8a2d\u5b9a\r\n      LayoutInflater inflater = LayoutInflater.from(this);\r\n      final View layout = inflater.inflate(R.layout.dialog_kusuri, (ViewGroup) findViewById(R.id.layout_root));<\/pre>\n<p>\u306eDialog\u306elayout\u304b\u3089layout.findViewById(R.id.pager)\u3092ViewPager\u306b\u3057\u305f\u306e\u3060\u304c\u3001\u4f55\u6545\u304bView\u304c\u898b\u3064\u304b\u3089\u306a\u304f\u3066\u843d\u3061\u3066\u3057\u307e\u3046\u3002(java.lang.IllegalStateException: Fragment does not have a view)<\/p>\n<p>\u9811\u5f35\u3063\u3066pager\u3092\u898b\u3064\u3051\u3088\u3046\u3068\u3057\u305f\u3051\u3069\u30c0\u30e1\u3060\u3063\u305f\u3002<\/p>\n<p>\u3053\u308c\u306f\u4f55\u3067\u3060\u308d\u30fc\u3063\u3066\u3057\u3089\u3079\u305f\u7d50\u679c\u3069\u3046\u3082AlertDialog.Builder\u3092\u4f7f\u3063\u3066\u308b\u306e\u304c\u60aa\u304b\u3063\u305f\u3089\u3057\u3044<\/p>\n<p>\u3053\u308c\u304b\u3089\u306fDialogFragment\u3092\u4f7f\u3048\u3068\u306e\u3053\u3068\u3002<\/p>\n<p>\u305f\u3081\u3057\u306bDialogFragment\u3092\u4f7f\u3046\u3068\u3059\u3093\u306a\u308a\u52d5\u3044\u305f\u3002<\/p>\n<p>PageDialog.java<\/p>\n<pre>package com.medicalmonitor;\r\n\r\nimport android.os.Bundle;\r\nimport android.support.v4.app.DialogFragment;\r\nimport android.support.v4.view.ViewPager;\r\nimport android.view.LayoutInflater;\r\nimport android.view.View;\r\nimport android.view.ViewGroup;\r\nimport android.view.Window;\r\n\r\npublic class PageDialog extends DialogFragment {\r\n    private final static String KEY_URL = \"diaog_key_urls\";\r\n\r\n    public static PageDialog newInstance(String[] urls) {\r\n        PageDialog fragment = new PageDialog();\r\n        Bundle args = new Bundle();\r\n        args.putStringArray(KEY_URL, urls);\r\n        fragment.setArguments(args);\r\n        return fragment;\r\n    }\r\n\r\n    @Override\r\n    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {\r\n        final View view = inflater.inflate(R.layout.dialog_kusuri, container, false);\r\n        String[] urls = getArguments().getStringArray(KEY_URL);\r\n\r\n        final ViewPager viewPager = (ViewPager) view.findViewById(R.id.pager2);\r\n        final Dialog_Fragment_pager adapter = new Dialog_Fragment_pager(getChildFragmentManager());\r\n        viewPager.setAdapter(adapter);\r\n\r\n        getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);\r\n        getDialog().setCanceledOnTouchOutside(true);\r\n\r\n        return view;\r\n    }\r\n}<\/pre>\n<p>Dialog_Fragment_pager.java<\/p>\n<pre>package com.medicalmonitor;\r\n\r\n\r\nimport android.support.v4.app.Fragment;\r\nimport android.support.v4.app.FragmentManager;\r\nimport android.support.v4.app.FragmentPagerAdapter;\r\nimport android.view.ViewGroup;\r\n\r\nimport java.util.HashMap;\r\nimport java.util.Map;\r\n\r\n\r\npublic class Dialog_Fragment_pager\r\n  extends FragmentPagerAdapter {\/\/FragmentStatePagerAdapter\u306f\u30e1\u30e2\u30ea\u7834\u68c4\u3059\u308b\u3001\u4fdd\u5b58\u3059\u308b\u306a\u3089\u3053\u3063\u3061\r\n   private Map&lt;Integer, String&gt; mFragmentTags;\r\n    private FragmentManager mFragmentManager;\r\n  public Dialog_Fragment_pager(FragmentManager fm) {\r\n    super(fm);\r\n    mFragmentManager = fm;\r\n    mFragmentTags = new HashMap&lt;Integer, String&gt;();\r\n  }\r\n  private static final String ARG_SECTION_NUMBER = \"section_number\";\r\n\r\n  @Override\r\n  public Fragment getItem(int position) {\r\n     return frag_dialog_pager_main.newInstance(position);\r\n  }\r\n\r\n  @Override\r\n  public int getCount() {\r\n    return 3;\r\n  }\r\n\r\n  @Override\r\n  public CharSequence getPageTitle(int position) {\r\n     \r\n    return \"Page \" + position;\r\n  }\r\n  @Override\r\n  public Object instantiateItem(ViewGroup container, int position) {\r\n      Object obj = super.instantiateItem(container, position);\r\n      if (obj instanceof Fragment) {\r\n          \/\/ record the fragment tag here.\r\n          Fragment f = (Fragment) obj;\r\n          String tag = f.getTag();\r\n          mFragmentTags.put(position, tag);\r\n      }\r\n      return obj;\r\n  }\r\n\r\n  public Fragment getFragment(int position) {\r\n      String tag = mFragmentTags.get(position);\r\n      if (tag == null)\r\n          return null;\r\n      return mFragmentManager.findFragmentByTag(tag);\r\n  }\r\n\r\n}<\/pre>\n<p>frag_dialog_pager_main.java<\/p>\n<pre>package com.medicalmonitor;\r\n\r\nimport android.app.AlertDialog;\r\nimport android.content.DialogInterface;\r\nimport android.os.Bundle;\r\nimport android.support.v4.app.Fragment;\r\nimport android.support.v4.app.LoaderManager.LoaderCallbacks;\r\nimport android.support.v4.content.Loader;\r\nimport android.text.TextUtils;\r\nimport android.text.format.Time;\r\nimport android.util.Log;\r\nimport android.view.LayoutInflater;\r\nimport android.view.View;\r\nimport android.view.View.OnClickListener;\r\nimport android.view.ViewGroup;\r\nimport android.widget.AdapterView;\r\nimport android.widget.ArrayAdapter;\r\nimport android.widget.Button;\r\nimport android.widget.ListView;\r\nimport android.widget.TextView;\r\nimport android.widget.Toast;\r\n\r\nimport org.json.JSONObject;\r\n\r\nimport java.math.BigDecimal;\r\nimport java.util.ArrayList;\r\nimport java.util.List;\r\n\r\npublic class frag_dialog_pager_main extends Fragment {\r\n   private static final String KEY_URL_STR = \"urlStr\";\r\n   private static final int KANJANUM = 0;\r\n   private static final int UNFINISHEDNUM = 1;\r\n   private static final int FINISHEDNUM = 2;\r\n   float juuryou=0;\r\n   int mNum;\/\/\u753b\u9762\u306e\u756a\u53f7\uff11\u306funfinished\uff12\u306ffinished\u3068\u304b\r\n    final List&lt;CustomData&gt; localobjects = new ArrayList&lt;CustomData&gt;();\/\/\u30ed\u30fc\u30ab\u30eb\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\r\n   static frag_dialog_pager_main newInstance(int num) {\r\n      frag_dialog_pager_main f = new frag_dialog_pager_main();\r\n\r\n        \/\/ Supply num input as an argument.\r\n        Bundle args = new Bundle();\r\n        args.putInt(\"num\", num);\r\n        f.setArguments(args);\r\n\r\n        return f;\r\n    }\r\n\r\n    \/**\r\n     * When creating, retrieve this instance's number from its arguments.\r\n     *\/\r\n   @Override\r\n   public void onCreate(Bundle savedInstanceState) {\r\n      super.onCreate(savedInstanceState);\r\n      mNum = getArguments() != null ? getArguments().getInt(\"num\") : 1;\r\n   }\r\n\r\n   \r\n    AlertDialog.Builder alertDlg2;\r\n     private AlertDialog m_dlg;\r\n      View rootView;\r\n       ListView listView;\r\n         \/\/\u30b0\u30ed\u30fc\u30d0\u30eb\u5909\u6570\r\n          Globals globals;\r\n         ArrayAdapter adapter;\r\n\r\n            Fragment_pick pick = new Fragment_pick();\r\n           \/\/ MainActivity activity = (MainActivity) getActivity();  \r\n            MainActivity main = new MainActivity();\r\n   @Override\r\n   public View onCreateView(\r\n      LayoutInflater inflater, \r\n      ViewGroup container, \r\n      Bundle savedInstanceState) {\r\n      globals = (Globals) getActivity().getApplication();\r\n      getActivity().getApplicationContext();\r\n\r\n      return inflater.inflate(R.layout.frag_picking_finished, container, false);\r\n   }\r\n   @Override\r\n    public void onStop() {\r\n       \/\/ImageCache.deleteAll(getCacheDir());\r\n       super.onStop();\r\n   \r\n    }\r\n   @Override\r\n    public void onStart() {\r\n       super.onStart();\r\n       \r\n   }\r\n}<\/pre>\n<p>\u2191\u7121\u99c4\u306a\u51e6\u7406\u591a\u3044\u306a\u30fc<\/p>\n<p>\u30c0\u30a4\u30a2\u30ed\u30b0\u4f7f\u3046\u3068\u304d\u306f<\/p>\n<pre>PageDialog newFragment = PageDialog.newInstance(null);\r\nnewFragment.show(getSupportFragmentManager(), TAG);<\/pre>\n<p>\u3060\u3051\uff01<\/p>\n<p>\u307e\u3041\u52d5\u3044\u3066\u3088\u304b\u3063\u305f\u30fc<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dialog\u3067Viewpager\u3092\u4f7f\u304a\u3046\u3068\u3057\u305f\u6642\u306e\u304a\u8a71\u3002 \u3069\u3046\u3082AlertDialog.Builder\u3092\u4eca\u307e\u3067\u4f7f\u3063\u3066\u305f\u306e\u3060\u304c\u3001\u3068\u3046\u3068\u3046\u4e0d\u5177\u5408\uff1f\u304c\u51fa\u3066\u3057\u307e\u3063\u305f\u3002 \u4eca\u56deDialog\u3067Viewpager\u3092\u4f7f\u3046\u305f\u3081\u306b\u4ed6\u306e\u3084\u3064\u306e\u3088 &hellip; <a href=\"https:\/\/medicalfields.jp\/blog\/java\/dialog%e3%81%a7viewpager\/\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">Dialog\u3067Viewpager<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[4,7],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6kJO0-A","_links":{"self":[{"href":"https:\/\/medicalfields.jp\/blog\/wp-json\/wp\/v2\/posts\/36"}],"collection":[{"href":"https:\/\/medicalfields.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/medicalfields.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/medicalfields.jp\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/medicalfields.jp\/blog\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":4,"href":"https:\/\/medicalfields.jp\/blog\/wp-json\/wp\/v2\/posts\/36\/revisions"}],"predecessor-version":[{"id":40,"href":"https:\/\/medicalfields.jp\/blog\/wp-json\/wp\/v2\/posts\/36\/revisions\/40"}],"wp:attachment":[{"href":"https:\/\/medicalfields.jp\/blog\/wp-json\/wp\/v2\/media?parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/medicalfields.jp\/blog\/wp-json\/wp\/v2\/categories?post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/medicalfields.jp\/blog\/wp-json\/wp\/v2\/tags?post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}