我正在尝试为光标中的每个项目显示一个新的吐司,我该怎么做?我已经搜索了SO,但是找不到任何相关的,有用的答案。这是我的代码,但是不起作用:

 while(mNotesCursor.moveToNext()){
    Toast.makeText(getActivity(),
    mNotesCursor.getString(mNotesCursor.getColumnIndex("title")),
            Toast.LENGTH_LONG).show();
    }

最佳答案

在游标中进行迭代时敬酒不是最好的主意。原因如下:

您正在使用LENGTH_LONG,这意味着吐司将持续约3秒钟。
而您的for循环可能会在不到一秒钟的时间内完成执行。因此,烤面包将按顺序显示,但它们过渡得太慢,以至于没有意义。

因此,我建议您在警报对话框或活动本身中显示内容,以便用户可以从内容中获得更多的含义。

编辑:

我假设您正在主线程上执行此操作。

LinearLayout root = (LinearLayout) getActivity().findviewById(R.id.rootLayout);
    while(mNotesCursor.moveToNext()){
        TextView tv = new TextView(getActivity());
        tv.setText(mNotesCursor.getString(mNotesCursor.getColumnIndex("title")));
        root.addView(tv);
    }

10-04 23:40