没有onCreate {}的开始意图

时间:2012-06-27 09:10:18

标签: android android-intent oncreate

我创建了一个扩展Gallery的类。超类中没有onCreate()方法,我无法运行我的意图。 这是我的示例代码:

 this.setOnItemClickListener(new AdapterView.OnItemClickListener() {

 @Override
 public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
 Intent intent = new Intent(v.getContext(), ClassName.class);
 startActivity(intent);
}}

以下尝试也无效:

Intent intent = new Intent(ThisClassName.this, ClassName.class);
startActivity(intent);

非常感谢任何建议:)

4 个答案:

答案 0 :(得分:3)

实际上,startActivity();活动类的方法,要运行此方法,您必须Context of ActivityReference of Activity,您无法在此方法中运行此方法其他类作为活动范围之外,没有活动参考。

尝试,

<Activity_Name>.this.startActivity(intent);

mContext.startActivity(intent);

此处 mContext 是您的Activity类的引用。

答案 1 :(得分:2)

正如你所写的,如果你的班级没有继承Activity(我想,因为否则你必须实施Activity),你想要开始onCreate() #39;能够用Intent启动它......

答案 2 :(得分:0)

如果你的类是main活动的扩展,并且你想从类的主体调用另一个活动,只需在另一个类中创建一个方法,然后通过创建一个类的实例来调用该方法并调用该方法。

由于它们具有相同的性质,因此可以使用,但请记住在try和catch方法中使用方法调用,否则可能会出现一些错误。

答案 3 :(得分:0)

GalleryView类型,如果您看到其Hirerchy,您会看到其super班级为View且视图确实为{0}}有任何onCreate方法

使用您的CustomGallery

您可以从xml或代码

中使用它
<com.mypackage.CustomGallery >
android:id...


 </com.mypackage.CustomGallery>