2016-06-12 8 views
-3
mTabHost = getTabHost(); 
     mTabHost.addTab(mTabHost.newTabSpec(TAB_NEWS).setIndicator(TAB_NEWS).setContent(new Intent(this, NewsActivity1.class))); 
     mTabHost.addTab(mTabHost.newTabSpec(TAB_BBS).setIndicator(TAB_BBS).setContent(new Intent(this, BBSActivity.class))); 
     mTabHost.addTab(mTabHost.newTabSpec(TAB_CATEGORY).setIndicator(TAB_CATEGORY).setContent(new Intent(this, CategoryActivity.class))); 
     mTabHost.addTab(mTabHost.newTabSpec(TAB_DISCOVER).setIndicator(TAB_DISCOVER).setContent(new Intent(this, DiscoverActivity.class))); 
     mTabHost.addTab(mTabHost.newTabSpec(TAB_MINE).setIndicator(TAB_MINE).setContent(new Intent(this, MineActivity.class))); 

理由は、私はTabActivityを使用しますが、システムの許可ダイアログはtargetSdk23に表示されないためです。tabactivity約6.0許可

たとえば:NewsActivity、BBSActivity、CategoryActivity、DiscoverActivity、MineActivity、すべてのカンタンショー。

、私を助けてください例DiscoverActivityに感謝〜

public class DiscoverActivity extends BaseActivity implements View.OnClickListener{ 
    private RelativeLayout near, plate, search, rate, oil, two_dimension_code, rl_activity, coupon; 
    private TextView tvActivityTitle; 
    private String url; 
    private LoadDialog dialog; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_discover); 
     GoogleAnalyticsUtil.doGoogleAnalytics(); 
     initView(); 
     initEvent(); 
    } 

    private void initView() { 
     // TODO Auto-generated method stub 
     near = (RelativeLayout) findViewById(R.id.discover_near); 
     plate = (RelativeLayout) findViewById(R.id.discover_plate); 
     search = (RelativeLayout) findViewById(R.id.discover_search); 
     rate = (RelativeLayout) findViewById(R.id.discover_rate); 
     oil = (RelativeLayout) findViewById(R.id.discover_oil); 
     two_dimension_code = (RelativeLayout) findViewById(R.id.rl_twodimension_code); 
     rl_activity = (RelativeLayout) findViewById(R.id.rl_activity); 
     coupon = (RelativeLayout) findViewById(R.id.rl_coupon); 
     tvActivityTitle = (TextView) findViewById(R.id.tv_activity_title); 
    } 

    private void initEvent() { 
     near.setOnClickListener(this); 
     plate.setOnClickListener(this); 
     search.setOnClickListener(this); 
     rate.setOnClickListener(this); 
     oil.setOnClickListener(this); 
     two_dimension_code.setOnClickListener(this); 
     rl_activity.setOnClickListener(this); 
     coupon.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View v) { 
     final Intent intent = new Intent(); 
     switch (v.getId()) { 
      case R.id.discover_near: 
       GoogleAnalyticsUtil.doGoogleActionAnalytics(GoogleAnalyticsConstant.ActionEvent.NEARPEOPLE_ACTION); 
       if (TextUtils.isEmpty(ShareProUtils.getUid(this))) { 
        intent.setClass(this, LoginActivity.class); 
        startActivity(intent); 
       } else { 
        intent.setClass(this, NearbyActivity.class); 
        startActivity(intent); 
       } 
       break; 
      case R.id.discover_plate: 
       intent.setClass(this, ForumActivity.class); 
       startActivity(intent); 
       break; 
      case R.id.discover_search: 
       intent.setClass(this, TopicSearchActivity.class); 
       startActivity(intent); 
       break; 
      case R.id.discover_rate: 
       intent.setClass(this, RateActivity.class); 
       startActivity(intent); 
       break; 
      case R.id.discover_oil: 
       intent.setClass(this, OilActivity.class); 
       startActivity(intent); 
       break; 
      case R.id.rl_twodimension_code: 
       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
        if (checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { 
         DialogUtil.getInstance().showPermissionDialog(this, "permission"); 
        } else { 
         intent.setClass(DiscoverActivity.this, CaptureActivity.class); 
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
         startActivityForResult(intent, 1); 
        } 
       } else { 
        intent.setClass(DiscoverActivity.this, CaptureActivity.class); 
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        startActivityForResult(intent, 1); 
       } 
       break; 
      case R.id.rl_activity: 
       intent.setClass(this, WebViewActivity.class); 
       intent.putExtra("url", url); 
       intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       startActivity(intent); 
       break; 
      case R.id.rl_coupon: 
       intent.setClass(this, GroupBuyListActivity.class); 
       startActivity(intent); 
       break; 
     } 
    } 

    private void loadActivity() { 
     Map<String, String> mp = new HashMap<String, String>(); 
     Okhttp.getIntance().post(Api.REAL_URL, Api.YORKBBS_CMS_TXTSETTING, mp, new StringCallback() { 
      @Override 
      public void onError(Call call, Exception e) { 
      } 

      @Override 
      public void onResponse(String response) { 
       if (!TextUtils.isEmpty(response)) { 
        String result = ParamUtils.ConvertData(response); 
        JsonObject jsonObject = new JsonParser().parse(result).getAsJsonObject(); 
        if (jsonObject.has("list")) { 
         rl_activity.setVisibility(View.VISIBLE); 
         String list = jsonObject.get("list").toString(); 
         List<Discoverac> listObj = new Gson().fromJson(list, new TypeToken<List<Discoverac>>() { 
         }.getType()); 
         if (listObj != null && listObj.size() > 0) { 
          tvActivityTitle.setText(listObj.get(0).getTxt()); 
          url = listObj.get(0).getUrl(); 
         } 
        } 
       } 
       rl_activity.setVisibility(View.GONE); 

      } 
     }); 
    } 

    private void check(String ticket) { 
     Map<String, String> mp = new HashMap<String, String>(); 
     mp.put("sessionkey", ShareProUtils.getLoginSession(this)); 
     mp.put("code", ticket); 
     mp.put("merchantid", ShareProUtils.getUid(this)); 
     Okhttp.getIntance().post(Api.GROUPBUY_URL, Api.GROUPON_CHECK, mp, new StringCallback() { 
      @Override 
      public void onBefore(Request request) { 
       super.onBefore(request); 
       dialog = DialogUtil.getInstance().showLoadDialog(DiscoverActivity.this, "正在验证..."); 
      } 

      @Override 
      public void onError(Call call, Exception e) { 
      } 

      @Override 
      public void onResponse(String response) { 
       if (!TextUtils.isEmpty(response)) { 
        String result = ParamUtils.ConvertData(response); 
        GrouponDetailResponse response1 = new Gson().fromJson(result,GrouponDetailResponse.class); 
        if (response1.getFlag().equals("0")){ 
         Intent intent = new Intent(DiscoverActivity.this, TicketCheckSuccessActivity.class); 
         startActivity(intent); 
        }else { 
         Intent intent = new Intent(DiscoverActivity.this, TicketCheckFailActivity.class); 
         startActivity(intent); 
        } 
       } else { 
        TipsToast.show(DiscoverActivity.this, "error"); 
       } 
      } 

      @Override 
      public void onAfter() { 
       DialogUtil.getInstance().dissMissDialog(dialog); 
       super.onAfter(); 
      } 
     }); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     if (isNet()) { 
      loadActivity(); 
     } 
    } 

    @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (resultCode == Activity.RESULT_OK) { 
      if (requestCode == 1) { 
       Bundle bundle = data.getExtras(); 
       String result = bundle.getString("result"); 
       if (!TextUtils.isEmpty(result)) { 
        if (result.contains("code")) { 
         if (TextUtils.isEmpty(ShareProUtils.getUid(this))) { 
          Intent login = new Intent(this, LoginActivity.class); 
          startActivity(login); 
          return; 
         } 
         result = result.replaceAll("http://www.yorkbbs.ca\\?yorkbbscode=",""); 
         check(result); 
        } else { 
         Intent intent = new Intent(this, WebViewActivity.class); 
         intent.putExtra("url", result); 
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
         startActivity(intent); 
        } 

       } else { 
        TipsToast.show(this, "scan error"); 
       } 
      } 
     } 
    } 
    @Override 
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
     super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
     // NOTE: delegate the permission handling to generated method 
    } 
    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     // TODO Auto-generated method stub 
     return false; 
    } 
} 

答えて

0

TabActivityは今あるを非推奨。 Tabを作成するには、FragmentViewPagerを使用して作成する必要があります。

FragmentViewPagerを使用してTabを作成する例です。 http://www.truiton.com/2015/06/android-tabs-example-fragments-viewpager/

+0

しかし、私はviewpagerを使用する内部2人の子供のページがあります。

はExmapleこちらをご覧ください。あなたのアクティビティコードはここに投稿してください。 – Len

+0

@Len – Ironman

+0

こんにちは〜コードが掲載されています。そして先月、私はfragmenttabhostとfragmentを使用しました。問題はありません。わかりました – Len

関連する問題