Android 片段能否扩展片段活动?[安卓]
我已经创建了一个MainActivity,它由3个可滚动的选项卡组成(通过使用ViewPager)。现在,这3个选项卡中的每一个都是一个片段。此外,我正在使用ActionBarSherlock(ABS) 对于第一个片段,我创建了以下类:Android 片段能否扩展片段活动?[安卓],android,android-fragments,android-activity,android-fragmentactivity,Android,Android Fragments,Android Activity,Android Fragmentactivity,我已经创建了一个MainActivity,它由3个可滚动的选项卡组成(通过使用ViewPager)。现在,这3个选项卡中的每一个都是一个片段。此外,我正在使用ActionBarSherlock(ABS) 对于第一个片段,我创建了以下类: public class Fragment_1 extends SherlockFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup co
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. */
}
}
对于第二个片段,我想扩展FragmentActivity,如下所示
public class Fragment_2 extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment2);
}
}
第三个片段与第一个片段相同
但当我启动应用程序时,它崩溃了。那么,我为类Fragment_2扩展FragmentActivity是不是错了?将FragmentActivity甚至Activity扩展到片段类是非法的吗?如果没有,这里的问题是什么
谢谢
编辑:在@commonware的回答之后,我更新了我的类,如下所示:
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;
}
我的最后两个问题是:
Fragment
是一个Java类。片段实现(用作ViewPager
中的页面)必须直接或间接地从片段继承
活动
不继承自片段
<代码>片段活动
不继承自片段
。因此,您不能从活动
或片段活动
继承,也不能从片段
继承
将FragmentActivity甚至Activity扩展到片段类是非法的吗
Fragment
是一个Java类。片段实现(用作ViewPager
中的页面)必须直接或间接地从片段继承
活动
不继承自片段
<代码>片段活动
不继承自片段
。因此,您不能从活动
或片段活动
继承,也不能从片段
@BornAgain继承:您可以从片段
继承片段。请注意,您从未解释过为什么要“扩展FragmentActivity”。问题是,在类Fragment_2中,我需要使用setContentView(),为此我需要扩展Activity或FragmentActivity。但这是不可能的。@BornAgain:“我需要使用setContentView()”--不,你不需要,因为这在片段中是不可能的。使用onCreateView()
中的inflate()
,就像您在Fragment_1
中所做的那样。非常感谢。这就解决了问题。但现在我又面临两个问题。如果你看看我更新的问题,我会很有帮助。@BornAgain:删除你的onCreate()
方法。将按钮
逻辑移动到onCreateView()
,在充气()
之后,通过调用v
上的findViewById()
在充气的视图中查找按钮
。我不知道你为什么要在片段中处理片段事务
。@BornAgain:你可以让片段2
从片段
继承。请注意,您从未解释过为什么要“扩展FragmentActivity”。问题是,在类Fragment_2中,我需要使用setContentView(),为此我需要扩展Activity或FragmentActivity。但这是不可能的。@BornAgain:“我需要使用setContentView()”--不,你不需要,因为这在片段中是不可能的。使用onCreateView()
中的inflate()
,就像您在Fragment_1
中所做的那样。非常感谢。这就解决了问题。但现在我又面临两个问题。如果你看看我更新的问题,我会很有帮助。@BornAgain:删除你的onCreate()
方法。将按钮
逻辑移动到onCreateView()
,在充气()
之后,通过调用v
上的findViewById()
在充气的视图中查找按钮
。我不知道你为什么要在片段中处理片段事务。