アクティビティのcontext
をアダプタに渡してみた後、context.finish();
を試しましたが、The method finish() is undefined for the type Context
のようなエラーが1つ発生しました
アクティビティでキャストします。
((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()」を使用します。
アダプタからリロードする場合は、「((Activity)context).recreate()」を使用します
アダプタで動作します
((Activity)view.getContext()).finish();