错误:"无法从类型Activity中对非静态方法startActivity(Intent)进行静态引用"

shr*_*pal 2 java android

private int pos = position;
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(context, "Click-" + String.valueOf(pos), Toast.LENGTH_SHORT).show(); 
                        iBean = (InboxBean)result.get(position);
                        ConstantData.inbox_subject = iBean.subject;
                        ConstantData.inbox_body = iBean.body;
                        ConstantData.inbox_postDate = iBean.postdate;

                        startActivity(new Intent(InboxActivity.this,InboxDetailActivity.class));//getting error at startActivity 
                    }
            });
Run Code Online (Sandbox Code Playgroud)

我在startActivity行遇到以下错误: "Cannot make a static reference to the non-static method startActivity(Intent) from the type Activity"

请帮忙.

Vla*_*nov 6

我假设你在活动的内部静态类中有这个.不要那样做.OnClickListeners应存在于特定活动实例的上下文中.

  • 尝试`context.startActivity` (8认同)

Jal*_*tre 5

要对非静态方法进行静态引用,需要使用活动或应用程序的上下文来调用它们.

当您需要从非活动类调用活动时也是如此.

可以使用以下类型的代码

Intent cc=new Intent(yourcontext,Yourpackagename.ClassName.class);
yourcontext.startActivity(cc);
Run Code Online (Sandbox Code Playgroud)