当前位置: 首页 > 知识库问答 >
问题:

AndroidRuntimeException“从活动上下文外部调用startActivity()需要标志_Activity_NEW_TASK标志”

澹台臻
2023-03-14

我在listview中创建了多个布局,但是当我单击时,我得到了一个Android RuntimeExc0019”从活动上下文外部调用starActive()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗?"

我在补充

意图。FLAG_ACTIVITY_NEW_TASK

我的意图,但我得到同样的信息!=(

      @Override
            public View getView(int position, View convertView, ViewGroup parent) {

                    retval=LayoutInflater.from(getApplicationContext()).inflate(R.layout.layout_anuncio, null);
                    ImageView image=(ImageView) retval.findViewById(R.id.imageAD);
                    LoadAds loadAds= new CargaAnuncios();
                    clickUrl = LoadAds.cargaImagenAnuncio(image, mContext, GlobalInfo.ANUNCIO_CARRIL_PORTADA);
                    image.setOnClickListener(new OnClickListener(){

                        @Override
                        public void onClick(View view) {
                            Bundle bundle=new Bundle();
                            bundle.putString("url", clickUrl);
                            Intent intent =new Intent(mContext,CustomWebView.class);
                            intent.putExtras(bundle);
                            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                            mContext.startActivity(intent);
                        }

                    });
            return retval;
        }

共有3个答案

左丘涵畅
2023-03-14

我补充说:

父母亲getApplicationContext()

而不是仅仅:

应用上下文

整条线路是:

retval=LayoutInflater.from(parent.getApplicationContext()).inflate(R.layout.layout_anuncio, null);
华星驰
2023-03-14

线程,但认为这个简单的解决方案可能会有帮助。与其传递上下文,不如直接从视图中获取。例如:view。getContext()

@Override
public void onClick(View view) {
    Bundle bundle=new Bundle();
    bundle.putString("url", clickUrl);
    Intent intent =new Intent(view.getContext(),CustomWebView.class);
    intent.putExtras(bundle);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    view.getContext().startActivity(intent);
}
华森
2023-03-14

getApplicationContext()替换为this。最有可能的情况是,您应该在代码中所有您拥有的getApplicationContext()——仅在您特别需要应用程序对象时使用getApplicationContext()

 类似资料: