programing

어댑터에서 활동을 완료하는 방법 ..?

procenter 2021. 1. 16. 10:42
반응형

어댑터에서 활동을 완료하는 방법 ..?


context어댑터에 활동을 전달하려고 시도한 다음 시도했지만 다음 context.finish();과 같은 오류가 발생했습니다.The method finish() is undefined for the type Context


활동으로 유형 캐스팅하십시오.

((Activity)context).finish();

다음 코드로 시도하십시오.

public YourAdapterName(......,Context context){

...

this.myContext=context;
}

그리고 어댑터에서 getView ()

btn.setOnClickListener(new Button.OnClickListener() {

    @Override
    public void onClick(View v) {
        ((YourActivityName)myContext).yourDesiredMethod();

    }
});

활동을 activity매개 변수 로 전달 하면이를 호출 할 수 finish()있습니다. 도움이 되었기를 바랍니다.


이것에 대한 코드는 ((Activity)context).finish();이고 완전한 코드는

holder.cardUsers.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent1=new Intent(mcontext,AstroChatPanel.class);
        intent1.putExtra("mobile",userslist.get(position).getMobile());
        intent1.putExtra("name",userslist.get(position).getName());
        intent1.putExtra("type","admin");
        mcontext.startActivity(intent1);
        ((Activity)mcontext).finish();
    }
});

나는 그것을 사용하지 않았지만 그것이 효과가 있기를 바랍니다. 활동 내에서 다시로드하려면 "this.recreate ()"를 사용하십시오.

Adapter에서 다시로드하려면 "((Activity) context) .recreate ()"를 사용하십시오.


컨텍스트와 함께 활동 이름을 입력하고 활동을 완료


어댑터에서 작동합니다.

((Activity)view.getContext()).finish();

사용자 정의 어댑터에서 코드 아래에서 마침 사용을 호출하십시오.

((Activity)context).finish();

close Activity form Class Custom Adapter just in method

 @Override
  public void onClick(View v) {
    MyApplication.value=mCompany.getCompanyId();
    Intent intent = new Intent(MyApplication.context, VaasetActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   intent.putExtra("ID_COMPANY",mCompany.getCompanyId());
    MyApplication.context.startActivity(intent);
    ((Activity)context).finish();
  }
});

참조 URL : https://stackoverflow.com/questions/7951936/how-to-finish-an-activity-from-an-adapter

반응형