我想发布一个新片段来查看一些数据.目前,我有一个主要活动,其中包含一堆操作栏选项卡,每个选项卡都是一个片段.所以,在一个标签片段中,我有一个按钮,chartButton.我的onclicklistener都设置了它,这是onClick方法:
public OnClickListener chartsListener = new OnClickListener() {
@Override
public void onClick(View v) {
Intent chartFragment = new Intent();
startActivity(chartFragment);
}
};
Run Code Online (Sandbox Code Playgroud)
现在,正如我所说,这个监听器属于扩展Fragment的类.所以,我想通过意图更换整个屏幕来启动一个新的片段(chartsFragment).当用户点击回来时,它会将它们带回标签和主要活动.这是我的图表片段:
public class chartsFragment extends Fragment {
public View onCreateView() {
//LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState
LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
return (inflater.inflate(R.layout.chartfragment, null));
}
}
Run Code Online (Sandbox Code Playgroud)
我正在处理的当前错误:"android.content.ActivityNotFoundException:找不到处理Intent {}的活动".这很好,我知道我可以使用getActivity().startActivity(chartsFragment),但这会导致相同的错误.我想我在这里寻找的是,如何从一个片段中启动一个导致打开新片段的意图?
当我使用getApplicationContext()那个时候eclipse给我错误create method 'getApplicationContext()'.请告诉我如何删除此错误.我也尝试使用ClassName.this那个时间错误就像change method startListening(Context) to startListening(Main)
当我使用像:measurement_index = AppSettings.getMeasureUnit(this);
然后错误像:change method getMeasureUnit(Context) to getMeasureUnit(Main)
所以请让我知道如何解决错误:
create方法'getApplicationContext()'
将方法getMeasureUnit(Context)更改为getMeasureUnit(Main)
检查我的代码.
Main.class
public class Main extends Fragment implements GPSCallback{
.......
public static Fragment newInstance(int position) {
Main f = new Main();
Bundle args = new Bundle();
...
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final ViewGroup root = (ViewGroup) inflater.inflate(R.layout.main, null);
/*Intent in = new Intent(Main.this,MainDisplay.class);
// ------------> Here …Run Code Online (Sandbox Code Playgroud)