我是Android程序的初学者,我想知道你能不能帮我一把。
我有一个ListFragment:
public class AdvertFrag extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor>我正在使用loaderManager从数据库中填充。这样可以很好地显示广告的细节,但我想做一些计算(通过经度和纬度计算出距离),然后在每个AdvertFrag上显示到商店位置的距离。
我已经研究过如何在片段中的setText()上使用TextView,并且已经读取了,您应该允许首先调用onCreateView方法,这样就有了一个视图。我尝试了以下代码:
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
view = inflater.inflate(R.layout.row, container, false);
if(view == null)
{
Log.i("TEST","null");
}
else
{
distance = (TextView) view.findViewById(R.id.distance);
distance.setText("the distance will go here");
}
return view;
}但是,请获得以下错误:“您的内容必须具有id属性为android.R.id.list的android.R.id.list。
return super.onCreateView(inflater, container, savedInstanceState);效果很好。
所以我的问题是,我做错了什么?我如何让setText在ListActivity中工作呢?还是我完全搞错了?
添加信息(如果有用的话):
我的row.xml,只有加载程序填充的文本视图和距离的附加文本视图。
我有一个fragmentActivity,它的XML中包含了片段,如下所示:
<fragment
...
android:name="com.example.goclub.AdvertFrag"
.../>发布于 2012-12-01 21:17:33
正如user113215所说,onCreateView() of ListFragment并不是在列表项中更改小部件的地方。假设您使用的是自定义CursorAdapter,则必须为此创建一个自定义。您可以找到一个关于这个这里的很好的教程。基本上,它扩展了SimpleCursorAdapter并对bindView方法进行了更改。
https://stackoverflow.com/questions/13663073
复制相似问题