Bor*_*ain 1 android android-fragments android-activity android-fragmentactivity
我创建了一个MainActivity,它包含3个可滚动的选项卡(使用ViewPager).现在,这3个标签中的每一个都是片段.另外,我正在使用ActionBarSherlock(ABS).
对于1st Fragment,我创建了以下类:
public class Fragment_1 extends SherlockFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View v = inflater.inflate(R.layout.fragment1, container, false);
return v;
/* R.layout.fragment1 only contains a TextView. */
}
}
Run Code Online (Sandbox Code Playgroud)
对于第二个片段,我想扩展FragmentActivity,如下所示.
public class Fragment_2 extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment2);
}
}
Run Code Online (Sandbox Code Playgroud)
第3个片段与第一个片段相同.
但是当我启动应用程序时,它会崩溃.那么,我是否在为Fragment_2类扩展FragmentActivity时错了?将FragmentActivity甚至Activity扩展到片段类是不合法的吗?如果没有,这里有什么问题?
谢谢.
编辑:在@ CommonsWare的回答之后,我更新了我的课程如下:
public class Fragment_2 extends SherlockFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Button send = (Button) findViewById(R.id.bSend); //Error at this line
//some error free code
FragmentTransaction t = getSupportFragmentManager().beginTransaction(); //Error at this line
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View v = inflater.inflate(R.layout.fragment2, container, false);
return v;
}
Run Code Online (Sandbox Code Playgroud)
我最后两个问题是:
谢谢!
将FragmentActivity甚至Activity扩展到片段类是不合法的吗?
Fragment
是一个Java类.您的片段实现(用作您的页面ViewPager
)必须Fragment
直接或间接地继承.
Activity
不继承自Fragment
.FragmentActivity
不继承自Fragment
.因此,你不能继承Activity
或FragmentActivity
不知何故也继承Fragment
.
归档时间: |
|
查看次数: |
7138 次 |
最近记录: |