不是封闭类错误 Android Studio

我是机器人开发的新手,对Java没有深入的了解。我被困在一个问题上很长一段时间。我正在尝试在按钮单击时打开新活动。但是我得到了一个错误:不是一个封闭的类:Katra_home

以下是 MainActivity 的代码.java

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button btn=(Button)findViewById(R.id.bhawan1);
   btn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent myIntent = new Intent(Katra_home.this, Katra_home.class);
            Katra_home.this.startActivity(myIntent);
        }
    });

这是Katra_home.java

public class Katra_home extends BaseActivity {

protected static final float MAX_TEXT_SCALE_DELTA = 0.3f;

private ViewPager mPager;
private NavigationAdapter mPagerAdapter;
private SlidingTabLayout mSlidingTabLayout;
private int mFlexibleSpaceHeight;
private int mTabHeight;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.katra_home);

    ActionBar ab = getSupportActionBar();
    if (ab != null) {
        ab.setDisplayHomeAsUpEnabled(true);
        ab.setHomeButtonEnabled(true);
    }

虽然我已经在stackoverflow上看到了很多答案,但我无法理解它们,因为我是Android开发新手。因此,我想问一下,我需要在代码中进行哪些更改才能使其正常工作。


答案 1

它应该是

Intent myIntent = new Intent(this, Katra_home.class);
startActivity(myIntent);

您必须使用现有活动上下文来启动新活动,尚未创建新活动,并且不能使用其上下文或对其调用方法。

不会因为使用关键字而引发封闭类错误。 是对当前对象的引用 — 正在调用其方法或构造函数的对象。with 只能从实例方法或构造函数中引用当前对象的任何成员。thisthisthis

Katra_home.this是无效的构造


答案 2
Intent myIntent = new Intent(MainActivity.this, Katra_home.class);
startActivity(myIntent);

这应该是完美的一个:)


推荐