0

하루를 선택하는 회 전자 및 회 전자에서 선택한 항목에 따라 목록 항목을 표시해야하는 목록이있는 활동이 있습니다.회 전자 항목을 선택하면 목록이 변경되지 않습니다

나는 sqlite 데이터베이스를 쿼리하고 있으며 스피너에서 선택된 다른 항목에 대해 서로 다른 쿼리를 사용해야합니다.

간단한 커서 어댑터를 사용하고 있습니다.

내 회 전자에 대해 onItemSelected(AdapterView<?> 부모,보기보기, int 위치, 긴 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 

      } 
     }); 


    } 

} 

감사합니다.

+0

로그가 표시되지 않으면 'if'조건을 입력하지 않습니다. 그 값이'오늘'입니까? 그것이 대소 문자를 구별한다는 것을 기억하십시오 – Aniruddha

+0

방문 http://stackoverflow.com/questions/19833100/android-updating-list-view-on-spinner-selection – Alpesh

답변

0

CursorAdapter.swapCursor()를 사용해보십시오. 그게 효과가있다.

+0

정말 고마워요 !! 이제 작동합니다. – user3747092

+0

괜찮 았으면 문제를 해결할 수 있었습니까? – nyarlathotep77

+0

@ user3747092이 답변에 표시 할 수 있습니까? – nyarlathotep77