【问题标题】:Not able to find viewpager fragments in android无法在android中找到viewpager片段
【发布时间】:2017-02-10 19:03:28
【问题描述】:

我正在使用代码查找附加在 viewpager 中的片段

Fragment fragment = getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.pager + ":" + viewPager.getCurrentItem());

我需要在活动类中找到片段。任何帮助将不胜感激。谢谢。

【问题讨论】:

标签: android android-viewpager tags fragment


【解决方案1】:

CarrierDetails 模型类

public class CarrierDetails {

        private String carrierName;

        private String mobileNo;

        private String countyIso;

        private int dataRoaming;

        private int slot;

        private CharSequence imenumber;

        public String getCarrierName () {
            return carrierName;
        }

        public void setCarrierName (String carrierName) {
            this.carrierName = carrierName;
        }

        public String getMobileNo () {
            return mobileNo;
        }

        public void setMobileNo (String mobileNo) {
            this.mobileNo = mobileNo;
        }

        public String getCountyIso () {
            return countyIso;
        }

        public void setCountyIso (String countyIso) {
            this.countyIso = countyIso;
        }

        public int getDataRoaming () {
            return dataRoaming;
        }

        public void setDataRoaming (int dataRoaming) {
            this.dataRoaming = dataRoaming;
        }

        public int getSlot () {
            return slot;
        }

        public void setSlot (int slot) {
            this.slot = slot;
        }

        public CharSequence getImenumber () {
            return imenumber;
        }

        public void setImenumber (CharSequence imenumber) {
            this.imenumber = imenumber;
        }

        @Override
        public String toString () {
            return "CarrierDetails{" +
                    "carrierName='" + carrierName + '\'' +
                    ", mobileNo='" + mobileNo + '\'' +
                    ", countyIso='" + countyIso + '\'' +
                    ", dataRoaming=" + dataRoaming +
                    ", slot=" + slot +
                    ", imenumber=" + imenumber +
                    '}';
        }
    }

实施

ArrayList<CarrierDetails> carrierDetailsList = new ArrayList<>();
        SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(this.TELEPHONY_SUBSCRIPTION_SERVICE);

        List<SubscriptionInfo> subscriptionInfoList = null;
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
            subscriptionInfoList = subscriptionManager.getActiveSubscriptionInfoList();
        }
        String carrierName = null, mobileNo = null, countyIso = null;
        int dataRoaming = 0, slot = 0;
        CharSequence imenumber = null;
        if (subscriptionInfoList != null && subscriptionInfoList.size() > 0) {
            for (SubscriptionInfo info : subscriptionInfoList) {
                CarrierDetails carrierDetails = new CarrierDetails();
                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
                    carrierName = info.getCarrierName().toString();
                    Log.d("CARRIER NAME", String.valueOf(carrierName));
                    carrierDetails.setCarrierName(carrierName);

                }
                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
                    mobileNo = info.getNumber();
                    Log.d("Mobile NUMBER", String.valueOf(mobileNo));
                    carrierDetails.setMobileNo(mobileNo);
                }
                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
                    countyIso = info.getCountryIso();
                    Log.d("county code", String.valueOf(countyIso));
                    carrierDetails.setCountyIso(countyIso);
                }
                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
                    dataRoaming = info.getDataRoaming();
                    Log.d("data Roaming", String.valueOf(dataRoaming));
                    carrierDetails.setDataRoaming(dataRoaming);
                }

                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
                    slot = info.getSimSlotIndex();
                    Log.d("slot index", String.valueOf(slot));
                    carrierDetails.setSlot(slot);
                }

                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
                    imenumber = info.getIccId();
                    Log.d("ime number", String.valueOf(imenumber));
                    carrierDetails.setImenumber(imenumber);
                }
                carrierDetailsList.add(carrierDetails);
            }
            TextView tv = (TextView) findViewById(R.id.tv);
            // zeroth index shows first sim data.
            tv.setText(carrierDetailsList.get(0).toString());
            TextView tv1 = (TextView) findViewById(R.id.tv1);
            // First index shows second sim data.
            tv1.setText(carrierDetailsList.get(1).toString());

        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多