我正在刷新Android的清单,但似乎无法做到。Android列表刷新
我用过notifyDataSetChanged();在我认为适用的每一点上(目前使用对话框输入),但它不起作用,并且我已到了遍布整个地方的地步,它仍然不会刷新。
我是否正确地说这应该刷新列表,而你看着它,或者它会重建列表,你仍然需要刷新视图?
如果任何人有任何关于它的定位与建设名单的建议,我很乐意听到。
我正在刷新Android的清单,但似乎无法做到。Android列表刷新
我用过notifyDataSetChanged();在我认为适用的每一点上(目前使用对话框输入),但它不起作用,并且我已到了遍布整个地方的地步,它仍然不会刷新。
我是否正确地说这应该刷新列表,而你看着它,或者它会重建列表,你仍然需要刷新视图?
如果任何人有任何关于它的定位与建设名单的建议,我很乐意听到。
这是一个ListActivity?我目前在我的项目中有一个ListActivity,我有自己的适配器类,它扩展了ArrayAdapter。
我的经验是,在我的扩展列表适配器类实例上调用notifyDataSetChanged()会立即导致正在显示的列表视图的刷新。因此,只要在我的适配器实例上调用.notifyDataSetChanged(),列表View就会重新生成,因此会导致我的适配器的getView()实现被调用以再次生成每个单独的行视图。因此,用户选择一个上下文菜单项,它会触发某些数据更改,然后调用.notifyDataSetChanged(),并立即刷新新数据。
所以要添加一些代码段是明确的:
我有一个ListActivity
public class VarListActivity extends ListActivity {
在这,我向ArrayAdapter
class VarAdapter extends ArrayAdapter{
...
@Override
public View getView(int position, View convertView, ViewGroup parent){
// Creates the views based upon myData
...
@Override
public int getCount(){
...
我创建数组的一个实例适配器
la = new VarAdapter(this, R.layout.row0);
当一个上下文菜单中选择
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.a_context_menu_option:
// Does a call to perform modifications to myData
la.notifyDataSetChanged();
return true;
我只是夹持这一切下来,以防万一它是任何相似的情况,但我们真的需要知道一点关于你的代码。
代码请... – Wroclai 2011-04-18 17:18:46
您是否在更改适配器本身或您用来创建适配器的某个阵列? – Aleadam 2011-04-18 17:23:21