Fragment中setColorSchemeResource报空指针异常

???????c 2016-12-13 11:35:33
在Fragment中调用srl.setColorSchemeResources(
android.R.color.holo_blue_light,
android.R.color.holo_red_light,
android.R.color.holo_orange_light,
android.R.color.holo_green_light);
代码报错,srl为空,但是前面的View不为空,想了一上午都没找出问题,求大神帮忙解决一下!代码如下,谢谢!


Fragment代码

public class AddressFragment extends Fragment {
private ListView lv;
private SwipeRefreshLayout srl;
private ArrayList<String> datas;
private ArrayAdapter<String> adapter;
private void initView(){
datas=new ArrayList<>();
datas.add("老干妈鸡蛋炒饭");
datas.add("红烧牛肉面");
datas.add("番茄炒鸡蛋");
datas.add("农家小炒肉1");
datas.add("农家小炒肉2");
datas.add("农家小炒肉3");
datas.add("农家小炒肉4");
}

public AddressFragment() {
// Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.fragment_address, container, false);
initView();
lv= (ListView) view.findViewById(R.id.listview);
adapter=new ArrayAdapter<String>(view.getContext(),
android.R.layout.simple_list_item_1,
datas);
lv.setAdapter(adapter);

Log.e("-------------view", String.valueOf(view));//测试结果View不为空

srl= (SwipeRefreshLayout) view.findViewById(R.id.swip_refresh);
Log.e("-------------cs", String.valueOf(srl));//测试结果srl为空
srl.setColorSchemeResources(
android.R.color.holo_blue_light,
android.R.color.holo_red_light,
android.R.color.holo_orange_light,
android.R.color.holo_green_light);
srl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
datas.add(0,"你是不是傻啊?");
datas.add(0,"你是不是傻啊??");
datas.add(0,"你是不是傻啊???");
datas.add(0,"你是不是傻啊????");
datas.add(0,"你是不是傻啊!!");
adapter.notifyDataSetChanged();
srl.setRefreshing(false);

}
},3000);
}
});


return view;
}

}



Fragment布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.herospeed.fragmenttest.Fragment.AddressFragment">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/address_swip_refresh"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>

</android.support.v4.widget.SwipeRefreshLayout>


</LinearLayout>
...全文
170 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
儿大不由爷 2016-12-13
  • 打赏
  • 举报
回复
android:id="@+id/address_swip_refresh"
???????c 2016-12-13
  • 打赏
  • 举报
回复
引用 2楼YXTS122 的回复:
一会儿我也在电脑上运行一下你的程序看看
嗯,谢谢啦
YXTS122 2016-12-13
  • 打赏
  • 举报
回复
一会儿我也在电脑上运行一下你的程序看看
???????c 2016-12-13
  • 打赏
  • 举报
回复
报错具体情况如下图:


???????c 2016-12-13
  • 打赏
  • 举报
回复
引用 5楼ink_s 的回复:
srl= (SwipeRefreshLayout) view.findViewById(R.id.swip_refresh); 老干妈鸡蛋炒饭 0.0
哈哈,问题解决了,老干妈鸡蛋炒饭挺好吃的
???????c 2016-12-13
  • 打赏
  • 举报
回复
引用 4楼ultrapro 的回复:
android:id="@+id/address_swip_refresh"
完美解决,自己太粗心了唉,谢谢啦
ink_s 2016-12-13
  • 打赏
  • 举报
回复
srl= (SwipeRefreshLayout) view.findViewById(R.id.swip_refresh); 老干妈鸡蛋炒饭 0.0

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧