返回首页

大家好,
我坚持用这个问题,
我有一个微调和列表视图,点击微调选择特定的数据集,获取列表视图绑定。
我写的代码,但它并不是working.somebody请帮​​助。我也发送代码。提前感谢。
下面是他类

package com.Android.AVOMyEarnings;

 

import java.util.ArrayList;

 

import android.app.Activity;

import android.content.Context;

import android.database.DataSetObserver;

import android.os.Bundle;

import android.util.Log;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemSelectedListener;

import android.widget.ListAdapter;

import android.widget.ListView;

import android.widget.ArrayAdapter;

import android.widget.Spinner;

import android.widget.TextView;

import android.widget.Toast;

 

import com.Android.R;

/*import com.Android.AVOMyBusiness.BusinessDetails;

import com.Android.AVOMyBusiness.Businesssummary;*/

import com.Android.AVOMyEarnings.UserBO;

 

public class CommissionDetail extends Activity{

	private  ArrayList<UserBO> mlistuser;

	private ListView lvlist;

	public String STR;

	

	 	protected int mPos;

	    protected String mSelection;

 

	    

	    protected ArrayAdapter<CharSequence> mAdapter;   

	    public static final int DEFAULT_POSITION = 2;   

	    public static final String PREFERENCES_FILE = "SpinnerPrefs";    

	    public static final String PROPERTY_DELIMITER = "=";   

	    public static final String POSITION_KEY = "Position";   

	    public static final String SELECTION_KEY = "Selection";

	    public static final String POSITION_MARKER = POSITION_KEY + PROPERTY_DELIMITER;

	    public static final String SELECTION_MARKER = SELECTION_KEY + PROPERTY_DELIMITER;

	    

	    

	/** Called when the activity is first created. */

	@Override

	public void onCreate(Bundle savedInstanceState)

	{

		

		super.onCreate(savedInstanceState);

		setContentView(R.layout.commissiondetail);

		Spinner spinner = (Spinner) findViewById(R.id.spnr_earning);

        this.mAdapter = ArrayAdapter.createFromResource(this, R.array.CommissionType, android.R.layout.simple_spinner_dropdown_item);

        spinner.setAdapter(this.mAdapter);

        OnItemSelectedListener spinnerListener = new myOnItemSelectedListener(this,this.mAdapter);

        spinner.setOnItemSelectedListener(spinnerListener);

		mlistuser=getUsers();

		lvlist=(ListView) findViewById(R.id.list);

	    lvlist.setAdapter(new ListAdapter(this,R.id.list,mlistuser)); 

	    

	    

	}

	

	public class myOnItemSelectedListener implements OnItemSelectedListener{		

		ArrayAdapter<CharSequence> mLocalAdapter;

        Activity mLocalContext;

        

        public myOnItemSelectedListener(Activity c, ArrayAdapter<CharSequence> ad) {

 

            this.mLocalContext = c;

            this.mLocalAdapter = ad;

 

          }

        

        

        public void onItemSelected(AdapterView<?> parent, View v, int pos, long row) {

 

            CommissionDetail.this.mPos = pos;

            CommissionDetail.this.mSelection = parent.getItemAtPosition(pos).toString();

            /*

             * Set the value of the text field in the UI

             */

            

            switch(pos){

            	case 0:{

            		STR = "SELECT NB.CYCLE,cast(IFNULL(NB.NewBusiness,0) as int) NewBusiness , cast(IFNULL(RN.RENEWAL,0) as int)  RENEWAL,cast(IFNULL(CB.CLAWBACK,0) as int )CLAWBACK,cast(IFNULL(( IFNULL(NB.NewBusiness,0) +  IFNULL(RN.RENEWAL,0) - IFNULL(CB.CLAWBACK,0)) ,0) as int ) NETCOMMISSION FROM (SELECT strftime('%Y',commissionspaiddate) Cycle, sum(commissionamount) NewBusiness  FROM tblcommissionstatus  where paymenttype=111  group by strftime('%Y',commissionspaiddate),paymenttype )  NB LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) RENEWAL FROM tblcommissionstatus  where paymenttype=113  group by strftime('%Y',commissionspaiddate),Paymenttype) RN  ON NB.CYCLE=RN.CYCLE  LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) CLAWBACK FROM tblcommissionstatus  where paymenttype=115  group by strftime('%Y',commissionspaiddate),Paymenttype) CB  ON NB.CYCLE=CB.CYCLE ";

            		mlistuser=getUsers();

            		/*Toast.makeText(CommissionDetail.this,

       					 "new row inserted with id = " + pos,

       					 Toast.LENGTH_SHORT).show();*/

            		

            		break;

            	}

            	case 1:{

            		STR = "SELECT commissionamount as NewBusiness,commissionspaiddate as RENEWAL, paymenttype  as CLAWBACK FROM  tblcommissionstatus";

            		mlistuser=getUsers();

            		/*Toast.makeText(CommissionDetail.this,

          					 "new row inserted with id = " + pos,

          					 Toast.LENGTH_SHORT).show();*/

            		break;

            	}

            	case 2:{

            		STR = "SELECT NB.CYCLE,cast(IFNULL(NB.NewBusiness,0) as int) NewBusiness , cast(IFNULL(RN.RENEWAL,0) as int)  RENEWAL,cast(IFNULL(CB.CLAWBACK,0) as int )CLAWBACK,cast(IFNULL(( IFNULL(NB.NewBusiness,0) +  IFNULL(RN.RENEWAL,0) - IFNULL(CB.CLAWBACK,0)) ,0) as int ) NETCOMMISSION FROM (SELECT strftime('%Y',commissionspaiddate) Cycle, sum(commissionamount) NewBusiness  FROM tblcommissionstatus  where paymenttype=111  group by strftime('%Y',commissionspaiddate),paymenttype )  NB LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) RENEWAL FROM tblcommissionstatus  where paymenttype=113  group by strftime('%Y',commissionspaiddate),Paymenttype) RN  ON NB.CYCLE=RN.CYCLE  LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) CLAWBACK FROM tblcommissionstatus  where paymenttype=115  group by strftime('%Y',commissionspaiddate),Paymenttype) CB  ON NB.CYCLE=CB.CYCLE ";

            		mlistuser=getUsers();

            	

            		/*Toast.makeText(CommissionDetail.this,

          					 "new row inserted with id = " + pos,

          					 Toast.LENGTH_SHORT).show();*/

            		break;

            	}

            	case 3:{

            		STR = "SELECT NB.CYCLE,cast(IFNULL(NB.NewBusiness,0) as int) NewBusiness , cast(IFNULL(RN.RENEWAL,0) as int)  RENEWAL,cast(IFNULL(CB.CLAWBACK,0) as int )CLAWBACK,cast(IFNULL(( IFNULL(NB.NewBusiness,0) +  IFNULL(RN.RENEWAL,0) - IFNULL(CB.CLAWBACK,0)) ,0) as int ) NETCOMMISSION FROM (SELECT strftime('%Y',commissionspaiddate) Cycle, sum(commissionamount) NewBusiness  FROM tblcommissionstatus  where paymenttype=111  group by strftime('%Y',commissionspaiddate),paymenttype )  NB LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) RENEWAL FROM tblcommissionstatus  where paymenttype=113  group by strftime('%Y',commissionspaiddate),Paymenttype) RN  ON NB.CYCLE=RN.CYCLE  LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) CLAWBACK FROM tblcommissionstatus  where paymenttype=115  group by strftime('%Y',commissionspaiddate),Paymenttype) CB  ON NB.CYCLE=CB.CYCLE ";

            		mlistuser=getUsers();

            		/*Toast.makeText(CommissionDetail.this,

          					 "new row inserted with id = " + pos,

          					 Toast.LENGTH_SHORT).show();*/

            		break;

            	}

            	case 4:{

            		STR = "SELECT NB.CYCLE,cast(IFNULL(NB.NewBusiness,0) as int) NewBusiness , cast(IFNULL(RN.RENEWAL,0) as int)  RENEWAL,cast(IFNULL(CB.CLAWBACK,0) as int )CLAWBACK,cast(IFNULL(( IFNULL(NB.NewBusiness,0) +  IFNULL(RN.RENEWAL,0) - IFNULL(CB.CLAWBACK,0)) ,0) as int ) NETCOMMISSION FROM (SELECT strftime('%Y',commissionspaiddate) Cycle, sum(commissionamount) NewBusiness  FROM tblcommissionstatus  where paymenttype=111  group by strftime('%Y',commissionspaiddate),paymenttype )  NB LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) RENEWAL FROM tblcommissionstatus  where paymenttype=113  group by strftime('%Y',commissionspaiddate),Paymenttype) RN  ON NB.CYCLE=RN.CYCLE  LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) CLAWBACK FROM tblcommissionstatus  where paymenttype=115  group by strftime('%Y',commissionspaiddate),Paymenttype) CB  ON NB.CYCLE=CB.CYCLE ";

            		mlistuser=getUsers();

            		/*Toast.makeText(CommissionDetail.this,

          					 "new row inserted with id = " + pos,

          					 Toast.LENGTH_SHORT).show();*/

            		break;

            	}

            	default:

            		STR = "SELECT NB.CYCLE,cast(IFNULL(NB.NewBusiness,0) as int) NewBusiness , cast(IFNULL(RN.RENEWAL,0) as int)  RENEWAL,cast(IFNULL(CB.CLAWBACK,0) as int )CLAWBACK,cast(IFNULL(( IFNULL(NB.NewBusiness,0) +  IFNULL(RN.RENEWAL,0) - IFNULL(CB.CLAWBACK,0)) ,0) as int ) NETCOMMISSION FROM (SELECT strftime('%Y',commissionspaiddate) Cycle, sum(commissionamount) NewBusiness  FROM tblcommissionstatus  where paymenttype=111  group by strftime('%Y',commissionspaiddate),paymenttype )  NB LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) RENEWAL FROM tblcommissionstatus  where paymenttype=113  group by strftime('%Y',commissionspaiddate),Paymenttype) RN  ON NB.CYCLE=RN.CYCLE  LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) CLAWBACK FROM tblcommissionstatus  where paymenttype=115  group by strftime('%Y',commissionspaiddate),Paymenttype) CB  ON NB.CYCLE=CB.CYCLE ";

            		mlistuser=getUsers();

            	

            		Toast.makeText(CommissionDetail.this,

          					 "new row inserted with id = " + pos,

          					 Toast.LENGTH_SHORT).show();

            }

            

          //  Toast.makeText(CommissionDetail.this," Position " + pos + " String " + CommissionDetail.this.mSelection , Toast.LENGTH_SHORT).show();

            //TextView resultText = (TextView)findViewById(R.id.SpinnerResult);

           // resultText.setText(CommissionDetail.this.mSelection);

        }

 



		

		public void onNothingSelected(AdapterView<?> arg0) {

			// TODO Auto-generated method stub

			

		}

    	

    }

    

    public int getSpinnerPosition() {

        return this.mPos;

    }

 

    public void setSpinnerPosition(int pos) {

        this.mPos = pos;

    }

 

    public String getSpinnerSelection() {

        return this.mSelection;

    }

 

    public void setSpinnerSelection(String selection) {

        this.mSelection = selection;

    }

	

	

	

	public ArrayList<UserBO> getUsers() {

 

		com.Android.Database.DBAdapter dbAdapter = com.Android.Database.DBAdapter

				.getDBAdapterInstance(this);

		

		dbAdapter.openDataBase();

	 //   String STR = "SELECT NB.CYCLE,cast(IFNULL(NB.NewBusiness,0) as int) NewBusiness , cast(IFNULL(RN.RENEWAL,0) as int)  RENEWAL,cast(IFNULL(CB.CLAWBACK,0) as int )CLAWBACK,cast(IFNULL(( IFNULL(NB.NewBusiness,0) +  IFNULL(RN.RENEWAL,0) - IFNULL(CB.CLAWBACK,0)) ,0) as int ) NETCOMMISSION FROM (SELECT strftime('%Y',commissionspaiddate) Cycle, sum(commissionamount) NewBusiness  FROM tblcommissionstatus  where paymenttype=111  group by strftime('%Y',commissionspaiddate),paymenttype )  NB LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) RENEWAL FROM tblcommissionstatus  where paymenttype=113  group by strftime('%Y',commissionspaiddate),Paymenttype) RN  ON NB.CYCLE=RN.CYCLE  LEFT OUTER JOIN (SELECT  strftime('%Y',commissionspaiddate) Cycle,sum(commissionamount) CLAWBACK FROM tblcommissionstatus  where paymenttype=115  group by strftime('%Y',commissionspaiddate),Paymenttype) CB  ON NB.CYCLE=CB.CYCLE ";

		ArrayList<ArrayList<String>> stringList = dbAdapter

				.selectRecordsFromDBList(STR, null);

		dbAdapter.close();

 

		ArrayList<UserBO> usersList = new ArrayList<UserBO>();

		for (int i = 0; i < stringList.size(); i++) {

			ArrayList<String> list = stringList.get(i);

			UserBO user = new UserBO();

			try {

				

				//user.CommissionsPaiddate = Integer.parseInt(list.get(1));

			user.Cycle=list.get(0);

			user.NewBusiness= Integer.parseInt(list.get(1));

			user.Renewal=Integer.parseInt(list.get(2));

			user.Clawback=Integer.parseInt(list.get(3));

			user.NetCommission=Integer.parseInt(list.get(4));

			} catch (Exception e) {

				Log.i("***" + CommissionDetail.class.toString(), e.getMessage());

			}

			usersList.add(user);

		}

		return usersList;

	}

			

	private class ListAdapter extends ArrayAdapter<UserBO> { // --CloneChangeRequired

		private ArrayList<UserBO> mList; // --CloneChangeRequired

		private Context mContext;

 

		public ListAdapter(Context context, int textViewResourceId,

				ArrayList<UserBO> list) { // --CloneChangeRequired

			super(context, textViewResourceId, list);

			this.mList = list;

			this.mContext = context;

		}

 

		public View getView(int position, View convertView, ViewGroup parent) {

			View view = convertView;

			try {

				if (view == null) {

					LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

					view = vi.inflate(R.layout.commissiondetail_tab, null); // --CloneChangeRequired(list_item)

				}

				final UserBO listItem = mList.get(position);

				if (listItem != null) {

					((TextView) view.findViewById(R.id.item1))

					.setText(listItem.getCycle()+"");

					((TextView) view.findViewById(R.id.item2))

					.setText(listItem.getNewBusiness()+"");

					((TextView) view.findViewById(R.id.item3))

					.setText(listItem.getRenewal()+"");

					((TextView) view.findViewById(R.id.item4))

					.setText(listItem.getClawback()+"");

					((TextView) view.findViewById(R.id.item5))

					.setText(listItem.getNetCommission()+"");

					

				}

			}

			 catch (Exception e) {

				Log.i(CommissionDetail.ListAdapter.class.toString(),

						e.getMessage());

			}

 

			return view;

		}

	}

	}

回答

评论会员: 时间:2