2013-03-07 84 views
1

我有一個是通過自定義BaseAdapter產生,並期待這樣一個活動:刷新的ListView在ImageButton.onClick內getView掀起了BaseAdapter

enter image description here

這是getView關閉自定義BaseAdapter:

@Override 
public View getView(int position, View view, ViewGroup parent) { 
    final Visita visita = getItem(position); 

    view = mInflater.inflate(R.layout.visita_item, null); //The ListView Item 

    ImageButton btnUp, btnDown; 
    btnUp = (ImageButton)view.findViewById(R.id.visita_btn_move_up); 
    btnDown = (ImageButton)view.findViewById(R.id.visita_btn_move_down); 

    btnUp = (ImageButton) view.findViewById(R.id.visita_btn_move_up); 
    if (position != 0) {// First item can't have the button up 
     btnUp.setBackgroundResource(R.drawable.ic_arrow_up); 
    } 

    btnDown = (ImageButton) view.findViewById(R.id.visita_btn_move_down); 
    if (position != visitas.size() - 1) {// Last item can't have the button down 
     btnDown.setBackgroundResource(R.drawable.ic_arrow_down); 
    } 

    final DatabaseAdapter adapter = new DatabaseAdapter(context); 

    btnUp.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Log.d(TAG, "Moving UP"); 

      ContentValues values = new ContentValues(); 
      valores.put(DatabaseHelper.VISITA_COLS[5], visita.order - 1); 
      String where = "ordem=?"; 
      String[] whereArgs = {String.valueOf(visita.order)}; 
      Log.d(TAG, "ID: " + adapter.atualizar(valores, where, whereArgs, DatabaseHelper.TB_VISITA)); 

        // I should refresh the ListView now 
     } 
    }); 

    btnDown.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Log.d(TAG, "Movind DOWN"); 

      //Here i should need the same, update the order in database and after refresh the ListView 
     } 
    }); 

    return view; 
} 

基本上,onClick off btnUpbtnDown是不言自明的。該訂單也需要保存在數據庫中,因爲它將在之後發送。在數據庫中的更新工作正常,我的問題是:我如何刷新他自己的BaseAdapter內的ListView?

我查了this問題但沒有成功。

回答

0

我用BroadcastReceiver刷新ListView就像this