2013-12-15 2 views
0

У меня проблема с приложением, которое я пытаюсь сделать до 11:59 вечера сегодня, я работаю с SQLite db для Android, и предполагается, что он заполняется новым название списка, поступающее из базы данных. Дело в том, что нет. То, что я делаю, вызывает действие из пункта меню Actionbar, которое запускает новое намерение.Не удается получить виджет вкладки tabhost для заполнения

case R.id.menuAddList: 
      Intent listIntent = new Intent(this, AddListActivity.class); 
      listIntent.putExtra("tab", tabHost.getCurrentTabTag()); 
      startActivity(listIntent); 
      break; 

Когда я к этой деятельности я могу редактировать текст с editext виджет, который обновляет столбец списка в базе данных, это нормально, и база данных обновляется с новым элементом списка. Вот код для этого.

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()){ 
     case R.id.menuSave: 
      saveToDatbase(); 
      this.finish(); 
      break; 
     case R.id.menuCancel: 
      this.finish(); 
      break; 
    } 
    return super.onContextItemSelected(item); 
} 

private void saveToDatbase() { 
    // Get the data from the widgets 
    int listID = addlistSpinner.getSelectedItemPosition() + 1; 
    String name = newListNameEditText.getText().toString(); 


    // If there is no item name, then exit the method 
    if (name == null || name.equals("")) { 
     return; 
    } 

    // If in add mode, create a new list item 
    if(!editMode) { 
     list = new List(); 
    } 

    // Put some data in the list 
    list.setId(listID); 
    list.setName(name); 


    // Update or insert item data 
    if(editMode) { 
     db.updateList(list); 

    } 
    else { 
     db.insertList(list); 
    } 
} 

@Override 
public boolean onKey(View view, int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { 
     // Hide the soft keyboard 
     InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 
     return true; 
    } 
    else if (keyCode == KeyEvent.KEYCODE_BACK) { 
     saveToDatbase(); 
     return false; 
    } 
    return false; 
} 

}

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

ответ

0

Вам необходимо обновить список, хранящийся в списке, который вы указали в списке.

mListAdapter.setList(****new data****); 
mListAdapter.notifyDataSetChanged(); 
mList.invalidate(); 

Функция setList помещает новые данные в адаптер. Setlist - это настраиваемая функция и должна быть размещена внутри пользовательского адаптера. Вызов notifyDataSetChanged должен перезагрузить адаптер, и аннулирование списка приведет к перезагрузке списка и отображению новой информации.

Смежные вопросы