【发布时间】:2013-11-07 08:08:41
【问题描述】:
我正在尝试定义一个自定义 Java 类(扩展 LinearLayout),它需要在点击时启动一个活动。我的代码如下所示:
public ArizaSatiri(Context context/*, AttributeSet attrs , final Activity aktivite*/ , JSONObject mysql_satiri)
{
super(context/*, attrs*/);
// code to initialize my view :
final Context finalContext = context;
this.setOnClickListener(new OnClickListener() {@Override
public void onClick(View v) {
Intent newIntent = new Intent(finalContext, ArizaDetaylari.class);
finalContext.startActivity(newIntent);
}//onClick
});
}
但是当我点击实例化视图时,我得到了错误:
Calling startActivity() from outside of an Activity context requires the
FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
从代码中可以看出,我尝试将Activity 传递给构造函数,并且成功了。但这是正确的方法吗?你会推荐哪种方式?
编辑:
我还需要在某个时候致电setTypeFace()。我应该使用上下文还是 Activity?
【问题讨论】:
-
查看为 getContext() 方法。你可以用它代替你的 finalContext
标签: java android android-intent android-activity android-custom-view