Не входящая в класс ошибка Android Studio

Я новичок в разработке Android и не имею глубоких знаний о 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);

Вы должны использовать существующий контекст активности для запуска новой активности, новая активность еще не создана, и вы не можете использовать ее контекст или методы вызова на ней.

не возникает ошибка класса размещения из-за использования ключевого слова this. this - ссылка на текущий объект - объект, чей метод или конструктор вызывается. С помощью this вы можете ссылаться только на любой член текущего объекта из метода экземпляра или конструктора.

Katra_home.this является недопустимой конструкцией

Ответ 2

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

Это должно быть совершенным:)

Ответ 3

замените код в методе onClick() следующим образом:

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

Ответ 4

вы вызываете контекст не существующей активности... поэтому просто замените свой код на onClick (View v) как Intent intent = new Intent (это, Katra_home.class); startActivity (намерение); это определенно сработает....