2017-09-26 65 views
0

我实际上是在Android Studio中使用我的Android应用程序。我在我的项目中导入了一个模块。该模块由片段活动组成。我已将模块编译到gradle应用程序文件中,并将模块包含在gradle设置文件中。我想用活动中的按钮调用片段活动,但是当我点击按钮时,应用程序崩溃。 我已经在我的AndroidManifest.xml文件中声明了片段活动,但应用程序不断崩溃。如何从活动调用片段活动?

错误,当应用程序崩溃:

enter image description here 我使用下面的代码来调用片段活动:

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)); 
} 
}); 

我想是因为我打电话片段,我得到这个错误来自活动的活动直接。如果是这样的话,我可以知道如何调用片段活动。

+0

如果你分享堆栈跟踪会很好 –

回答

0

如果您有权编辑该模块源代码,那么正确的方法是将意向过滤器添加到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类命名

0

你可以分享你的清单文件?语法看起来正确。如错误信息中所述 - 请检查是否声明了活动类别,具体而言,它在清单文件中声明。