когда выбран элемент счетчика, список не меняется

У меня есть действие, в котором есть счетчик для выбора дня и список, который должен отображать элементы списка в соответствии с элементом, выбранным из счетчика.

Я запрашиваю базу данных sqlite, и для разных элементов, выбранных на счетчике, должны использоваться разные запросы.

Я использую простой адаптер курсора.

Я установил onItemSelected(AdapterView<?> parent, View view, int position, long id) для моего счетчика. В этом я проверяю, равен ли выбранный элемент счетчика сегодняшнему дню.

Если это так, мне нужно изменить отображаемый список.

Моя проблема в том, что список остается неизменным независимо от того, какой элемент счетчика выбран. Это не меняется.

Обратите внимание, что мой счетчик и список находятся на одной странице. Может кто-нибудь предложить решение для этого?

public class RecentJobListActivity extends Activity {

    ListView listView ;
    private Spinner spinner;
    private TakenJobDataBaseOpenHelper jobDatabaseHelper; 
    private Cursor cursor;
    SimpleCursorAdapter cursoradapter;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_recent_job_list);

        addItemsOnSpinner();

         //This is the database helper class     
         jobDatabaseHelper = new TakenJobDataBaseOpenHelper(this);


         String[] fromColumns = {TakenJobDataBaseOpenHelper.TAKENJOBS_COLUMN_RequestID,TakenJobDataBaseOpenHelper.TAKENJOBS_COLUMN_Destination,TakenJobDataBaseOpenHelper.TAKENJOBS_COLUMN_CustomerName};
         int[] toViews = {R.id.singleRequestID, R.id.singleDestination,R.id.singleCustomerName};

                 //when the page first loads the result of queru getAlljobs() will be shown.this works
          cursor = jobDatabaseHelper.getAllJobs();


          cursoradapter = new SimpleCursorAdapter(this, 
                R.layout.single_job_activity, cursor, fromColumns, toViews, 0);

         listView = (ListView)findViewById(R.id.activities_list);
         listView.setAdapter(cursoradapter);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.recent_job_list, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

public void addItemsOnSpinner(){

        spinner = (Spinner) findViewById(R.id.time_periods_spinner);    
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
                R.array.time_periods_array, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        // Apply the adapter to the spinner
        spinner.setAdapter(adapter);

        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
                // TODO Auto-generated method stub

                String s =  parent.getItemAtPosition(position).toString();

               //even the log doesn't show. 
                if(s.equals("Today")){
                    Log.d("today","today");
                    cursor = jobDatabaseHelper.getTodayJobs();
                    cursoradapter.notifyDataSetChanged();

                 }


            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
        });


    }

}

Спасибо!!!


person user3747092    schedule 17.06.2014    source источник
comment
Если журнал не отображается, значит, он не входит в состояние if. Вы уверены, что значение равно Today? Помните, что это case sensitive   -  person Aniruddha    schedule 17.06.2014
comment
Посетите stackoverflow.com/questions/ 19833100/   -  person Alpesh    schedule 17.06.2014


Ответы (1)


Попробуйте использовать CursorAdapter.swapCursor(). Это должно сработать.

person nyarlathotep77    schedule 17.06.2014
comment
Нет проблем, не могли бы вы отметить ответ как правильный, если не возражаете, пожалуйста? - person nyarlathotep77; 17.06.2014
comment
@user3747092 user3747092 не могли бы вы пометить этот ответ правильным, пожалуйста? - person nyarlathotep77; 18.06.2014