Android ListView滑动混乱解决方法

在写Adapter 时,比如可以取到数据,就显示出来。如果取不到数据不显示。但是滑动list,此时无数据的会显示有数据。解决办法就是用boolean判断,有为true,显示,没有为false,这样根据这个boolean值做显示,或是不显示,这样就可以解决了。


自己做项目的源代码供大家看看,各种技巧大家可以参考下。



package com.company.myname; //修改了这个,呵呵

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;

import android.app.Dialog;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Handler.Callback;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class AllChannelTabActivity extends ListActivity {
    private static final String TAG = "AllChannelTabActivity";
    
    public static InnoCmmbService mInnoCmmbService = null;
    public static InnoMbbmsOperate mInnoMbbmsOperate = null;
    
    public static ArrayList<MBBMSService> mMbbmsChannelList;
    public static ArrayList<ServiceInfo> mCmmbChannelList;
    
    private ArrayList<MBBMSContent> mMbbmsContentList;
    
    private ArrayList<ScheduleInfo> mScheduleList;



    public CmmbChannelAdapter mCmmbAdapter = null;
    public MbbmsChannelAdapter mMbbmsAdapter = null;
    private Preference_T mPreference_T;
    private Context mContext;
    private Handler mHandler;

    ProgressDialog mDialog;
    private TelephonyManager mTel;
    private boolean simIn = false;
    private boolean Inited = false;
    
    private static final int MENU_CONTENT = 0;    
    
    private int mFavoriteFlag = -1;
    private String mCurrentTime;
    private String today;
    
    
    
    public class MbbmsListener implements InnoMbbmsOperate.onMbbmsListener {
        public void onMbbmsCallBack(ServiceEvent_T event, Object cookie)
        {
            
        }
    }

    public class HandlerListener implements Callback {

        public boolean handleMessage(Message msg) {
            // TODO Auto-generated method stub
            return AllChannelTabActivity.this.handleMessage(msg);
        }
    }
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.all_channel_list);
        Log.i(TAG,"onCreate ......");
        mContext = getApplicationContext();
        mTel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        if (mTel.getSimState() == 5) {
            simIn = true;            
        }
        
        //get current time
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        mCurrentTime = sdf.format(date);
        Log.i(TAG,"current time is "+mCurrentTime);
        
        //get date
        Calendar cal = Calendar.getInstance();    
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        today = formatter.format(cal.getTime());
        Log.i(TAG,"today is "+today);
        
        if (!simIn) {
            mCmmbChannelList = new ArrayList<ServiceInfo>();
            mScheduleList = new ArrayList<ScheduleInfo> ();
            mCmmbAdapter = new CmmbChannelAdapter(mContext,mCmmbChannelList);
            setListAdapter(mCmmbAdapter);
        } else {        
            mMbbmsChannelList = new ArrayList<MBBMSService>();
            mMbbmsAdapter = new MbbmsChannelAdapter(mContext,mMbbmsChannelList);
            setListAdapter(mMbbmsAdapter);
        }
        
        mHandler = new Handler(new HandlerListener());
        Log.i(TAG,"oncreat handler inited ..............................");            
        
        mInnoCmmbService = new InnoCmmbService(this);
        mInnoMbbmsOperate = new InnoMbbmsOperate(this);   
        
        InnoCmmbService.INNO_Init("/data/data/com.innofidei.cmmb","/data/data/com.innofidei.cmmb",1);
        Log.i(TAG,"cmmb set init path  ...........");
        InnoCmmbService.INNO_SetLogLevel(InnoCmmbService.LOG_ALL);
        Log.i(TAG,"InnoCmmbService has inited.........");


        if (!simIn) {
            InitCmmbChannel();
        } else {
            InitMbbmsChannel();
        }
        getListView().smoothScrollToPosition(4);
        getListView().setOnCreateContextMenuListener(this);  
        
    }
        
    
    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        Log.i(TAG,"onResume................");    
        //refresh when cancel favarite channel in set
        if (simIn) {
            if (mMbbmsChannelList.size() > 0)
                mMbbmsAdapter.notifyDataSetChanged();
        } else {
            if (mCmmbChannelList.size() > 0)
                mCmmbAdapter.notifyDataSetChanged();
        }
        
    }
  

    protected void onDestroy() {
        super.onDestroy(); 
        InnoCmmbService.INNO_Deinit();
    }  
  

    public void InitMbbmsChannel() {
        Log.i(TAG,"InitMbbmsChannel carry out......");
        mDialog = ProgressDialog.show(this, "MBBMS", getString(R.string.init_sg), true);
        mPreference_T = new Preference_T();  
        mMbbmsContentList = new ArrayList<MBBMSContent>();
        mInnoMbbmsOperate.mStatus = InnoMbbmsOperate.STATUS_START;
        mInnoMbbmsOperate.INNO_MBBMS_Start(null, mPreference_T);
        Log.i(TAG,"    mInnoMbbmsOperate.INNO_MBBMS_Start(null, mPreference_T) carry out");
        MBBMSContent [] a = mInnoMbbmsOperate.GetContent(null);
        Log.i(TAG,"a length is "+a.length);
        for (int i=0;i<a.length;i++) {
            if (a[i].m_StartTime.contains(today)
                    && a[i].m_StartTime.compareToIgnoreCase(mCurrentTime) <= 0
                    && a[i].m_EndTime.compareToIgnoreCase(mCurrentTime) > 0) {
                mMbbmsContentList.add(a[i]);
                Log.i(TAG,"###mbbms content  is "+a[i].m_Name+" ; ref id is "+a[0].m_ServiceReferenceidRef);
            }
        }
        Log.i(TAG,"mMbbmsContentList length is "+mMbbmsContentList.size());
    }
    
    public void InitCmmbChannel() {
        Log.i(TAG,"init cmmb channel..........");
        InnoCmmbService.INNO_ScanChannel(13, 48);        
        mDialog = ProgressDialog.show(this, "CMMB", getString(R.string.scan_channel));
        
    }
    
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
        boolean cmmbWatch = false;
        boolean mbbmsWatch = false;
        
        if (!simIn)
        {
            Log.i(TAG,"play cmmb program...............");
            ServiceInfo service = mCmmbChannelList.get(position);
            if (!service.mForFree)  {
                Toast.makeText(this,getString(R.string.can_not_watch) , Toast.LENGTH_SHORT).show();
            } else {
                cmmbWatch = true;
                mInnoCmmbService.INNO_PlayChannel(service.mFreqNo, service.mId);
            }            
        } else {
            Log.i(TAG,"play mbbms program..............");
            MBBMSService service = mMbbmsChannelList.get(position);
            if (service.m_isSubscribed || service.m_forfree) {
                mbbmsWatch = true;
                if (mInnoMbbmsOperate.mAuthorize == InnoMbbmsOperate.STATUS_AUTHORIZE_OK
                        || mInnoMbbmsOperate.mAuthorize == InnoMbbmsOperate.STATUS_AUTHORIZE_ING) {
                    mInnoMbbmsOperate.INNO_MBBMS_PlayTV(service.m_id, MbbmsOperate.REQ_MSK_NONE);
                } else {
                    mInnoMbbmsOperate.mAuthorize = InnoMbbmsOperate.STATUS_AUTHORIZE_ING;
                    mInnoMbbmsOperate.INNO_MBBMS_PlayTV(service.m_id, MbbmsOperate.REQ_MSK_ALL_SERVICE);
                }
            } else {
                //request modify to subscribe channel
                Toast.makeText(this,getString(R.string.do_not_watch), Toast.LENGTH_SHORT).show();
            }            
        }
        
        if (cmmbWatch || mbbmsWatch) {
            Intent intent = new Intent();
            intent.setClass(this, VideoViewActivity.class);

            try {
                startActivity(intent);
            } catch (ActivityNotFoundException ae) {
                Log.v(TAG, "Activity not found");
                ae.printStackTrace();
            } catch (Exception e) {
                Log.v(TAG, "Exception found");
                e.printStackTrace();
            }
        }
    }

       @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        // TODO Auto-generated method stub
        super.onCreateContextMenu(menu, v, menuInfo);
        AdapterView.AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
        mFavoriteFlag = info.position;
        Log.i(TAG,"create context menu position is "+mFavoriteFlag);
        menu.add(0, MENU_CONTENT, 0, R.string.favo_unfavo);
    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        switch (item.getItemId()) {
        case MENU_CONTENT:
            if (!simIn) {
                String [] mChannelName = new String [5];
                SharedPreferences sharedPreferences=getSharedPreferences("favoriteinfo",Context.MODE_PRIVATE);
                
                for (int i=0;i<5;i++) {
                    mChannelName[i] = sharedPreferences.getString("channel"+i,"");
                    Log.i(TAG,"channel name "+i+" is "+mChannelName[i]);
                }
            
                String mRecordName = mCmmbChannelList.get(mFavoriteFlag).mName;
                boolean findFlag = false;
                for (int i=0;i<5;i++) {
                    if (!TextUtils.isEmpty(mChannelName[i])) {
                        if (mRecordName.equals(mChannelName[i])) {
                            Editor edit = sharedPreferences.edit();
                            edit.putString("channel"+i, "");
                            edit.commit();
                            findFlag = true;
                            Toast.makeText(this,mChannelName[i]+getString(R.string.unfavorite_success),Toast.LENGTH_SHORT).show();
                            break;
                        }
                    }
                }
                
                if (!findFlag) {
                    for (int i=0;i<5;i++) {
                        if (TextUtils.isEmpty(mChannelName[i])) {
                            Editor edit = sharedPreferences.edit();
                            edit.putString("channel"+i, mRecordName);
                            edit.commit();
                            Toast.makeText(this,mRecordName+getString(R.string.favorite_success),Toast.LENGTH_SHORT).show();
                            break;
                        }
                    }
                }
                
                mCmmbAdapter.notifyDataSetChanged();

            } else {
                String [] mChannelName = new String [5];
                SharedPreferences sharedPreferences=getSharedPreferences("mbbmsfavoriteinfo",Context.MODE_PRIVATE);
                
                for (int i=0;i<5;i++) {
                    mChannelName[i] = sharedPreferences.getString("channel"+i,"");
                }
            
                String mRecordName = mMbbmsChannelList.get(mFavoriteFlag).m_Name;
                boolean findFlag = false;
                //already exist,remove it
                for (int i=0;i<5;i++) {
                    if (!TextUtils.isEmpty(mChannelName[i])) {
                        if (mRecordName.equals(mChannelName[i])) {
                            Editor edit = sharedPreferences.edit();
                            edit.putString("channel"+i, "");
                            edit.commit();
                            findFlag = true;
                            Toast.makeText(this,mChannelName[i]+getString(R.string.unfavorite_success),Toast.LENGTH_SHORT).show();
                            break;
                        }
                    }
                }
                //not exist,add it
                if (!findFlag) {
                    for (int i=0;i<5;i++) {
                        if (TextUtils.isEmpty(mChannelName[i])) {
                            Editor edit = sharedPreferences.edit();
                            edit.putString("channel"+i, mRecordName);
                            edit.commit();
                            Toast.makeText(this,mRecordName+getString(R.string.favorite_success),Toast.LENGTH_SHORT).show();

                            break;
                        }
                    }
                }
                mMbbmsAdapter.notifyDataSetChanged();
            }            
            break;
        }
        return super.onContextItemSelected(item);
    }

    private class MbbmsChannelAdapter extends ArrayAdapter<MBBMSService> {
        public MbbmsChannelAdapter(Context context, ArrayList<MBBMSService> mList) {
            super(context, 0, mList);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            MBBMSService info = mMbbmsChannelList.get(position);
            Log.i(TAG,"---------------MbbmsAdapter channnel is "+info.m_Name);
            Log.i(TAG," position is "+position);
            boolean findFlag = false;
            if (convertView == null) {
                final LayoutInflater inflater = getLayoutInflater();
                convertView = inflater.inflate(R.layout.text_view, parent, false);
            }                
            
            ImageView mLock = (ImageView) convertView.findViewById(R.id.lock_channel);
            if (info.m_isSubscribed == true || info.m_forfree){                
                mLock.setImageResource(R.drawable.unlock);
            } else {
                mLock.setImageResource(R.drawable.lock);
            }
            
            TextView aChannel = (TextView) convertView.findViewById(R.id.one_channel);
            aChannel.setText((CharSequence)info.m_Name);    
            
            TextView time = (TextView) convertView.findViewById(R.id.time_item);
            TextView describe = (TextView) convertView.findViewById(R.id.describe_item);
            
            for (int i=0;i<mMbbmsContentList.size();i++) {
                if (info.m_id.equalsIgnoreCase(mMbbmsContentList.get(i).m_ServiceReferenceidRef)){
                    findFlag = true;
                    String [] start = mMbbmsContentList.get(i).m_StartTime.split(" ");
                    String [] end = mMbbmsContentList.get(i).m_EndTime.split(" ");
                    time.setText(start[1]+" "+end[1]);
                    describe.setText(" "+mMbbmsContentList.get(i).m_Name);
                    Log.i(TAG,"****************convertview position is "+position+":"+info.m_Name+" :"+mMbbmsContentList.get(i).m_Name);
                    break;
                }
            }
            
            if (!findFlag) {
                time.setText("");
                describe.setText("");
            }
            
            ImageView mFavoView = (ImageView) convertView.findViewById(R.id.favo_channel);
            mFavoView.setImageResource(R.drawable.collection);
            mFavoView.setVisibility(View.GONE);
            
            String [] mChannelName = new String [5];
            SharedPreferences sharedPreferences=getSharedPreferences("mbbmsfavoriteinfo",Context.MODE_PRIVATE);
            String  channelName0 = sharedPreferences.getString("channel0","");
            for (int i=0;i<5;i++) {
                mChannelName[i] = sharedPreferences.getString("channel"+i,"");
            }

            for (int i=0;i<5;i++) {
                if (info.m_Name.equals(mChannelName[i])) {
                    mFavoView.setVisibility(View.VISIBLE);
                    break;
                }
            }
            
            return convertView;       
        }
    }
    
    
    private class CmmbChannelAdapter extends ArrayAdapter<ServiceInfo> {
        public CmmbChannelAdapter(Context context, ArrayList<ServiceInfo> mList) {
            super(context, 0, mList);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            boolean findFlag = false;

            final ServiceInfo info = mCmmbChannelList.get(position);
            if (convertView == null) {
                final LayoutInflater inflater = getLayoutInflater();
                convertView = inflater.inflate(R.layout.text_view, parent, false);
            }                
            ImageView mLockView = (ImageView) convertView.findViewById(R.id.lock_channel);
            if (info.mForFree == false) {
                mLockView.setImageResource(R.drawable.lock);
            } else {
                mLockView.setImageResource(R.drawable.unlock);
            }
            TextView mChannel = (TextView) convertView.findViewById(R.id.one_channel);
            mChannel.setText(info.mFreqNo+" "+info.mName);
            
            TextView time = (TextView) convertView.findViewById(R.id.time_item);
            TextView describe = (TextView) convertView.findViewById(R.id.describe_item);
            
            for (int i=0;i<mScheduleList.size();i++) {
                if (info.mId == mScheduleList.get(i).mServiceId){
                    findFlag = true;
                    String [] start = mScheduleList.get(i).mBeginTime.split(" ");
                    String [] end = mScheduleList.get(i).mEndTime.split(" ");
                    time.setText(start[1]+" "+end[1]);
                    describe.setText(" "+mScheduleList.get(i).mTitleStr);
                    Log.i(TAG,"****************convertview position is "+position+":"+info.mName+" :"+mScheduleList.get(i).mTitleStr);
                    break;
                }
            }
            
            if (!findFlag) {
                time.setText("");
                describe.setText("");
            }
            
            ImageView mFavoView = (ImageView) convertView.findViewById(R.id.favo_channel);
            mFavoView.setImageResource(R.drawable.collection);
            mFavoView.setVisibility(View.GONE);

            String [] mChannelName = new String [5];
            SharedPreferences sharedPreferences=getSharedPreferences("favoriteinfo",Context.MODE_PRIVATE);
            String  channelName0 = sharedPreferences.getString("channel0","");
            for (int i=0;i<5;i++) {
                mChannelName[i] = sharedPreferences.getString("channel"+i,"");
            }

            for (int i=0;i<5;i++) {
                if (info.mName.equals(mChannelName[i])) {
                    mFavoView.setVisibility(View.VISIBLE);
                    break;
                }
            }
            
            return convertView;       
        }
    }
    
    public void bindChannelList() {          
        if (simIn) {
            Log.i(TAG,"bind mbbms ChannelList carry out");
            mMbbmsAdapter.notifyDataSetChanged();
        } else {
            Log.i(TAG,"bind cmmb ChannelList carry out");
            mCmmbAdapter.notifyDataSetChanged();
        }
    }
    

    public Handler getMyHandler() {
        return mHandler;
    }
    

    public boolean handleMessage(Message msg) {
        Log.i(TAG, "msg.what = " + msg.what);
        
        if (msg.what == InnoMbbmsOperate.SERVICE_UPDATESG_COMPLETED)
        {
            if (mInnoMbbmsOperate.mStatus == InnoMbbmsOperate.STATUS_START)
            {
                mDialog.dismiss();
            }
            if (msg.arg1 ==  0)
            {
                Toast.makeText(this, getString(R.string.init_sg_sucess), Toast.LENGTH_SHORT).show();
                mDialog = ProgressDialog.show(this, "MBBMS", getString(R.string.init_st), true);
            }
            else
            {
                Toast.makeText(this, getString(R.string.init_sg_fail), Toast.LENGTH_SHORT).show();
            }
        }
        else if (msg.what == InnoMbbmsOperate.SERVICE_UPDATEST_COMPLETED)
        {
            if (mInnoMbbmsOperate.mStatus == InnoMbbmsOperate.STATUS_START)
            {
                mDialog.dismiss();
            }
            if (msg.arg1 == 128 || msg.arg1 == 129 || msg.arg1 == 130)
            {
                Toast.makeText(this, getString(R.string.init_st_success), Toast.LENGTH_SHORT).show();
                if (!Inited)
                {
                    Inited = true;
                    mDialog = ProgressDialog.show(this, "MBBMS", getString(R.string.init_gba), true);
                }
                mMbbmsChannelList.clear();
                if (mInnoMbbmsOperate.m_MbbmsServiceArray != null) {
                    Log.i(TAG, "rService length = " + mInnoMbbmsOperate.m_MbbmsServiceArray.length);
                    for (int i = 0; i < mInnoMbbmsOperate.m_MbbmsServiceArray.length; i++) {
                        Log.i(TAG, "add service id = " + mInnoMbbmsOperate.m_MbbmsServiceArray[i].m_id + "; name = "
                                + mInnoMbbmsOperate.m_MbbmsServiceArray[i].m_Name + "; subscribed=" + mInnoMbbmsOperate.m_MbbmsServiceArray[i].m_isSubscribed);
                        mMbbmsChannelList.add(mInnoMbbmsOperate.m_MbbmsServiceArray[i]);
                    }
                }
                bindChannelList();
            }
            else
            {
                Toast.makeText(this, getString(R.string.init_st_fail), Toast.LENGTH_SHORT).show();
            }
        }
        else if (msg.what == InnoMbbmsOperate.SERVICE_INITIALIZE_COMPLETED)
        {
            if (mInnoMbbmsOperate.mStatus == InnoMbbmsOperate.STATUS_START)
            {
                mDialog.dismiss();
                mInnoMbbmsOperate.mStatus = InnoMbbmsOperate.STATUS_IDLE;
            }
            if (msg.arg1 ==  0)
            {
                Toast.makeText(this, getString(R.string.gba_ok), Toast.LENGTH_SHORT).show();
            }
            else
            {
                Toast.makeText(this, getString(R.string.gba_fail), Toast.LENGTH_SHORT).show();
            }
        }
        else if (msg.what == InnoCmmbService.SOURCE_SERVICE) {
            if (mDialog.isShowing()) {
                mDialog.dismiss();
            }
    
            ServiceInfo[] rService = InnoCmmbService
                    .INNO_GetAllCMMBServiceInfo(0);            
            if (rService != null) {
                Log.i(TAG, "################# mService length = " + rService.length);
                for (int i = 0; i < rService.length; i++) {
                    //filter the channel which name is number    
                    if (rService[i].mName.startsWith("1")) {
                        continue;
                    } else if (rService[i].mName.startsWith("2")) {
                        continue;
                    } else if (rService[i].mName.startsWith("3")) {
                        continue;
                    } else if (rService[i].mName.startsWith("4")) {
                        continue;
                    }
                    boolean bExist = false;                    
                    for (int j = 0; j < mCmmbChannelList.size(); j++) {
                        ServiceInfo service = mCmmbChannelList.get(j);                        
                        if (service.mId == rService[i].mId
                                && service.mFreqNo == rService[i].mFreqNo) {
                            bExist = true;
                            break;
                        }
                    }
                    if (!bExist) {
                        mCmmbChannelList.add(rService[i]);
                    }
                }
            } else {
                Log.i(TAG,"can not get ServiceInfo ..........");
            }
            //add
            ScheduleInfo[] a = InnoCmmbService.INNO_GetAllCMMBScheduleInfo(0, 0);
            if (a!=null) {
                for (int i=0;i<a.length;i++) {
                    if (a[i].mBeginTime.contains(today)
                            && a[i].mBeginTime.compareToIgnoreCase(mCurrentTime) <= 0
                            && a[i].mDescription.compareToIgnoreCase(mCurrentTime) > 0) {
                        mScheduleList.add(i, a[i]);
                    }
                }
                Log.i(TAG, "schedule number is "+a.length);
            } else {
                Log.i(TAG, "can not get schedule info");
            }
            bindChannelList();            
        }
        else if (msg.what == InnoMbbmsOperate.SOURCE_INQUIRY)
        {
            if (mInnoMbbmsOperate.m_MbbmsSubscribePurchaseItems != null)
            {
                Log.i(TAG, "m_MbbmsSubscribePurchaseItems length=" + mInnoMbbmsOperate.m_MbbmsSubscribePurchaseItems.length);
                for (int i=0; i<mInnoMbbmsOperate.m_MbbmsSubscribePurchaseItems.length; i++)
                {
                    Log.i(TAG, "Unsubscribe id=" + mInnoMbbmsOperate.m_MbbmsSubscribePurchaseItems[i].m_globalPurchaseItemID
                            + " name=" + mInnoMbbmsOperate.m_MbbmsSubscribePurchaseItems[i].m_Name);
                    if (mInnoMbbmsOperate.m_MbbmsSubscribePurchaseItems[i].m_service != null)
                    {
                        for (int j=0; j<mInnoMbbmsOperate.m_MbbmsSubscribePurchaseItems[i].m_service.length; j++)
                        {
                            Log.i(TAG, "service id=" + mInnoMbbmsOperate.m_MbbmsSubscribePurchaseItems[i].m_service[j].m_id
                                    + " name=" + mInnoMbbmsOperate.m_MbbmsSubscribePurchaseItems[i].m_service[j].m_Name);
                        }
                    }
                }
                String[] purchaseID = new String[1];
                purchaseID[0] = mInnoMbbmsOperate.m_MbbmsSubscribePurchaseItems[0].m_globalPurchaseItemID;
                mInnoMbbmsOperate.Unsubscribe(purchaseID, 1);
            }
        }
    
        return true;
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值