【问题标题】:How to refresh a Listview in a Fragment class after adding data?添加数据后如何刷新片段类中的列表视图?
【发布时间】:2014-03-04 10:31:47
【问题描述】:

我正在将数据插入 Sqlite 数据库。我希望这些数据显示在片段类的 Listview 中。问题是我的列表视图没有立即加载新数据。换句话说,在我参加其他活动并回来之前,它不会被刷新。任何人都可以建议我一个解决方案。我的代码如下:

public class SentTaskFragment extends Fragment {
 ArrayList<HashMap<String, String>>val=new ArrayList<HashMap<String,String>>(); 
public SentTaskFragment(){}
     public View onCreateView(LayoutInflater inflater1, ViewGroup container,Bundle savedInstanceState) {
        View rootView = inflater1.inflate(R.layout.listview_header_row, container, false);
        Databasehandler db=new Databasehandler(getActivity().getApplicationContext());
        final ListView l=(ListView) rootView.findViewById(R.id.listViewad);
        int count=db.getcounttask();
         Log.i("count task",""+count);
         if(count==0)
         {
        Toast.makeText(getActivity(), "No Task to Display", Toast.LENGTH_SHORT).show();
    }
        else
    {
            if(id.compareTo("empty")!=0)
            {
    val=db.getTaskSent(id);
    Toast.makeText(getActivity(), "arg2"+val, Toast.LENGTH_SHORT).show();
            }
   ListAdapter k=new SimpleAdapter(getActivity(),val,R.layout.r,new String[]{"TaskId","heading","status"},new int[]{R.id.textViews,R.id.textViews1,R.id.textstatus});

           l.setAdapter(k);
    }

【问题讨论】:

  • 获取对适配器的引用,并在您的数据更改/您希望列表添加/删除项目时尝试调用 _adapter.notifyDataSetChanged()。我看到您已将其存储在 k 中;尝试使用 k.notifyDataSetChanged();让我知道这是否适合您。
  • 我无法将 notifyDataSetChanged() 与我的适配器一起使用。那么还有其他建议吗?
  • 尝试通过 ((BaseAdapter) k).notifyDataSetChanged(); 将 k 转换为 BaseAdapter;
  • 没用。 Listview 仍然没有刷新。
  • 如何将项目添加到列表视图中?我假设您要更新的列表是代码中的 var l 而适配器是 k?

标签: android android-listview android-fragments android-sqlite


【解决方案1】:

将数据插入数据库后输入此代码

((BaseAdapter)l.getAdapter()).notifyDataSetChanged();

【讨论】:

  • 我正在使用 SimpleAdapter
  • SimpleAdapter 扩展 BaseAdapter;在这里铸造应该没问题。
猜你喜欢
  • 2018-04-24
  • 1970-01-01
  • 1970-01-01
  • 2016-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多