当前位置: 代码迷 >> Android >> frament中不能调用getSystemService()步骤
  详细解决方案

frament中不能调用getSystemService()步骤

热度:65   发布时间:2016-04-28 05:36:40.0
frament中不能调用getSystemService()方法
本帖最后由 qq271967835 于 2014-05-13 22:21:52 编辑
我想在一个frament中实现左右滑动实现该frament中的frament切换,在网上看了代码以后自己做了一下,可是出现了调用getSystemService()出错的问题,请问是怎么回事

引用的部分代码:
package com.example.fragmenttest1;


import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ViewFlipper;

public class FragmentSearch extends Fragment implements OnGestureListener{

private GestureDetector mGestureDetector;
private ViewFlipper viewFlipper;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_search, container, false);
}

@SuppressWarnings("deprecation")
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mGestureDetector = new GestureDetector(this);
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);//(该行getSystemService()编译出错                 )
                                                                                                                                            
viewFlipper = (ViewFlipper)getView().findViewById(R.id.viewflipper);
View viewOne = inflater.inflate(R.layout.one,null);
viewFlipper.addView(viewOne);

}

@Override
public boolean onDown(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}

@Override
public boolean onFling(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
return false;
}

@Override
public void onLongPress(MotionEvent arg0) {
// TODO Auto-generated method stub

}

@Override
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
return false;
}

@Override
public void onShowPress(MotionEvent arg0) {
// TODO Auto-generated method stub

}

@Override
public boolean onSingleTapUp(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}

}


------解决方案--------------------
LayoutInflater inflater = (LayoutInflater)getActivity(). getSystemService(Context.LAYOUT_INFLATER_SERVICE);//(该行getSystemService()编译出错                 ),我之前是这么弄得,你试试吧,不行我也不会了,我刚刚学这个