相关疑难解决方法(0)

如何从适配器完成活动..?

我尝试将context活动传递到适配器然后我尝试context.finish();但它给我一个错误就像The method finish() is undefined for the type Context

android listadapter android-activity

53
推荐指数
4
解决办法
5万
查看次数

从自定义按钮访问活动

也许我在这里错过了,但在这里.让我说扩展Button

    public class MyButton extends Button {
        ...
        public MyButton(Context context, AttributeSet attrs) {
            super(context, attrs);
            ...
        }
    }
Run Code Online (Sandbox Code Playgroud)
  1. 如果MyButton在例如MyActivity中,我可以简单地将上下文转换为活动.
  2. 现在,如果MyButton是MyDialog(扩展Dialog)的一部分,context.getClass()将指向ContextThemeWrapper,我无法获得活动.

那么如何在第二种情况下获得对话或活动的实例?

编辑 更多代码以更好地说明我想要做的事情:

public class MyDialog extends Dialog {
    private MyButton myButton;

    public MyDialog(Context context) {
        super(context)  

        this.setContentView(R.layout.my_dialog);
        this.setTitle("My Dialog");

        myButton = (MyButton) findViewById(R.id.my_button);
    }
}

public class MyButton extends Button implements Command {
    private MyActivity myActivity;

    public MyButton(Context context, AttributeSet attrs) {
        super(context, attrs);

        System.out.println(context instanceof ContextThemeWrapper); // TRUE
        System.out.println(context instanceof Activity); // FALSE

        myActivity = ??? // …
Run Code Online (Sandbox Code Playgroud)

android

3
推荐指数
1
解决办法
3273
查看次数

如何使用RecyclerView完成Adapter类的活动

我正在尝试Recyclerview使用代码单击项目时完成适配器类的活动

public void onBindViewHolder(@NonNull CountryCodeAdapter.CountryViewHolder holder, int position{
    CountryModel countryMode = countryModels.get(position);
    final String cCode = countryModel.getName();
    holder.llcountryCode.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i = new Intent(v.getContext(),RegisterActivity.class);                        
            i.putExtra("countryCode", cCode);
            v.getContext().startActivity(i);
            ((AppCompatActivity)context).finish();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

也尝试过这个但是没用

((Activity)context).finish();
Run Code Online (Sandbox Code Playgroud)

我得到这个错误:

cannot be cast to android.support.v7.app.AppCompatActivity
Run Code Online (Sandbox Code Playgroud)

android adapter android-recyclerview

0
推荐指数
1
解决办法
1063
查看次数