Bonjour,

Je ne comprends pas pourquoi mon "spinneryear" vaut null. pourtant les années figurent bien à l'intérieur quand le lance l'application. Mais il m'est impossible d'en extraire la données sélectionnée.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
 
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_tuto);
 
        /** Shared preferences to get account Id and Name **/
        SharedPreferences preferences = getSharedPreferences("filePrefName", MODE_PRIVATE);
        String accountId = preferences.getString("accountId", "");
        String accountName = preferences.getString("accountName", "");
 
        compteId = Integer.parseInt(accountId);//Convert to integer for BDD
        compteName = accountName;
 
 
        /** Spinner get year and month **/ 
        spinnerYear = (Spinner) findViewById(R.id.yearsss);
        final Spinner spinnerMonth = (Spinner) findViewById(R.id.month);
 
        Calendar spinCal = Calendar.getInstance(Locale.getDefault());
        int intYearNow = spinCal.get(Calendar.YEAR);
        int intMonthNow = spinCal.get(Calendar.MONTH);
 
        spinnerArrayYear = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);	    
        spinnerArrayYear.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 
        ArrayAdapter<String> spinnerArrayMonth = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);	    
        spinnerArrayMonth.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 
        FluxDAO FluxDAOdate = new FluxDAO(this);
        FluxDAOdate.open();
        Cursor cursorDate = FluxDAOdate.mDb.rawQuery("SELECT DISTINCT compteid, IFNULL(MIN(date1), -1) FROM " + FluxDAO.FLUX_TABLE_NAME + " WHERE " + FluxDAO.FLUX_COMPTE_ID + " == " + compteId, null);
	    startManagingCursor(cursorDate);
 
	    if (!cursorDate.moveToFirst() || cursorDate.moveToFirst() && cursorDate.getLong(1) == -1){
	    	String strYear = String.valueOf(spinCal.get(Calendar.YEAR));
	        String hhh = sdf.format(spinCal.get(Calendar.MONTH));
	    	spinnerArrayYear.add(strYear);
	    	spinnerArrayMonth.add(hhh);
            Toast.makeText(getBaseContext(),"Pas de Résultat ! dates en cours", Toast.LENGTH_SHORT).show();
	    }
	    else {
	    	for(cursorDate.moveToFirst(); !cursorDate.isAfterLast(); cursorDate.moveToNext()) {
	    		String dateMinStr = cursorDate.getString(1);
	    		Long dateMinLong = Long.valueOf(dateMinStr);
	    		Calendar calendarMin = Calendar.getInstance(Locale.getDefault());
	    		calendarMin.setTimeInMillis(dateMinLong);
	    		int intYearMin = calendarMin.get(Calendar.YEAR);
	    		int intMonthMin = calendarMin.get(Calendar.MONTH);
 
	    		for(int i=intYearNow; i>=intYearMin; i--){
	    			String Strval = String.valueOf(i);
	    			spinnerArrayYear.add(Strval);
	    			if(spinnerYear.getSelectedItem() == null){
	    				Toast.makeText(this,"Spinner NULL", Toast.LENGTH_SHORT).show();
	    			}
	    			//String gggg = spinnerYear.getSelectedItem().toString();
		            //Toast.makeText(this," aff :" + yearstr, Toast.LENGTH_SHORT).show();
	    		}
	    		// utiliser between 01/2014 au 12/2014
	    		/** Le 01/01/N -> N = Spinner selected **/
	            Calendar calendarMinDateYear = Calendar.getInstance();
	            //String yearstr = spinnerYear.getSelectedItem().toString();
	            //Toast.makeText(this," aff :" + yearstr, Toast.LENGTH_SHORT).show();
	            //int yearInt = Integer.valueOf(yearstr);
	            /*calendarMinDateYear.set(Calendar.YEAR, year);
	            calendarMinDateYear.set(Calendar.MONTH, Calendar.JANUARY);
	            calendarMinDateYear.set(Calendar.DAY_OF_MONTH, 1);
	            calendarMinDateYear.set(Calendar.HOUR_OF_DAY, 0);
	            calendarMinDateYear.set(Calendar.MINUTE, 0);
	            calendarMinDateYear.set(Calendar.SECOND, 0);
	        	Date minDate = calendarMinDateYear.getTime();
	        	/** Le 31/12/N N = Spinner selected **/
	        	/*calendarMinDateYear.set(Calendar.MONTH, Calendar.DECEMBER);
	        	calendarMinDateYear.set(Calendar.DAY_OF_MONTH, 31);
	        	Date maxDate = calendarMinDateYear.getTime();*/
 
	    		/*Cursor cursorMonthMin = FluxDAOdate.mDb.rawQuery("SELECT DISTINCT compteid, MIN(date1)" +
	    				" FROM " + FluxDAO.FLUX_TABLE_NAME + 
	    				" WHERE " + FluxDAO.FLUX_COMPTE_ID + " == " + compteId +
	    				" AND " + FluxDAO.FLUX_DATE1 + " >= ? " +
	    				" AND " + FluxDAO.FLUX_DATE1 + " <= ? " 
	    				, new String[] { Long.toString(minDate.getTime()), Long.toString(maxDate.getTime()) });
	    	    startManagingCursor(cursorMonthMin);*/
 
	    	    //Toast.makeText(this," aff :" + String.valueOf(year), Toast.LENGTH_SHORT).show();
       			}
	    }
	    FluxDAOdate.close();
	    cursorDate.close();
 
	    spinnerYear.setAdapter(spinnerArrayYear);