android.content.ActivityNotFoundException:无法找到显式活动类,您是否在AndroidManifest.xml中声明了此活动?

时间:2018-04-09 02:57:43

标签: android

我正在尝试从StationFragment到Dashan1Activity开始一项活动。它没有工作,让我疯了。我所拥有的是:

  1. 错误消息:

      

    android.content.ActivityNotFoundException:无法找到显式   活动类{com.coastline20 / miaoli.dashan.Dashan1Activity};有   你在AndroidManifest.xml中声明了这个活动吗?

  2. 清单

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.coastline20">
    
     <application
        ...        
        <activity android:name=".miaoli.dashan.Dashan1Activity" />
     </application>    
    </manifest>
    
  3. StationFragment

    @Override
    public void onClick(View v) {
      Intent intent = new Intent().setClassName(getActivity(), "miaoli.dashan.Dashan1Activity");
      getActivity().startActivity(intent);
    }
    

5 个答案:

答案 0 :(得分:0)

尝试启动这样的下一个活动

<script type="text/javascript" 
<script> src="http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

答案 1 :(得分:0)

试试这个:

  final Activity ac = getActivity();
  Intent intent = new Intent(ac, Dashan1Activity.class);
  startActivity(intent);

为我工作

<强>更新

你必须写出孔类名。  &#34; .miaoli.dashan.Dashan1Activity&#34;不是孔类名称

答案 2 :(得分:0)

@Override
public void onClick(View v) {
  Intent intent = new Intent(getActivity(), Dashan1Activity.class);
  v.getContext().startActivity(intent);
}

答案 3 :(得分:0)

您正在构建应用程序时更改包名称。试试吧。

  Intent intent = new Intent().setClassName(getActivity(), Dashan1Activity.class);
  getActivity().startActivity(intent);

您必须使用getActivity()来启动活动。如果您没有使用它,那么它将提供异常,因为OnClickListenter类无法启动活动。

希望它有所帮助。

<强>更新

如果您只想要显式的Intent,请尝试使用

  Intent intent = new Intent().setClassName(getActivity(), "com.coastline20.miaoli.dashan.Dashan1Activity");
  getActivity().startActivity(intent);

答案 4 :(得分:0)

我认为这是由于android studio中的错误所致。要解决此问题,您应该对Run/Debug Configuration进行一些更改: 将Deploy路径中的Installation Options设置为Nothing,编译项目,然后撤消此设置。对我来说很好。Run/Debug Configuration