如何从活动调用片段活动?
问题描述:
我实际上是在Android Studio中使用我的Android应用程序。我在我的项目中导入了一个模块。该模块由片段活动组成。我已将模块编译到gradle应用程序文件中,并将模块包含在gradle设置文件中。我想用活动中的按钮调用片段活动,但是当我点击按钮时,应用程序崩溃。 我已经在我的AndroidManifest.xml文件中声明了片段活动,但应用程序不断崩溃。如何从活动调用片段活动?
错误,当应用程序崩溃:
Button btn1 = (Button)findViewById(R.id.button);
btn1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
starActivity(new Intent(projectActivity.this, moduleFragmentActiviy.class));
}
});
我想是因为我打电话片段,我得到这个错误来自活动的活动直接。如果是这样的话,我可以知道如何调用片段活动。
答
如果您有权编辑该模块源代码,那么正确的方法是将意向过滤器添加到FragmentActivity。
在模块的AndroidManifest.xml
<activity
android:name=".FragmentAcitivity" >
<intent-filter>
<action android:name="com.example.YOUR_ACTION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
而且在主模块的MainActivity:
Button btn1 = (Button) findViewById(R.id.button);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent("com.example.YOUR_ACTION"));
}
});
...我希望你用UpperCamelCase类命名
答
你可以分享你的清单文件?语法看起来正确。如错误信息中所述 - 请检查是否声明了活动类别,具体而言,它在清单文件中声明。
如果你分享堆栈跟踪会很好 –