кнопка не отображается в дизайнерском представлении Android Studio - PullRequest
0 голосов
/ 24 августа 2018

Создание приложения для Android. Идея состоит в том, чтобы открыть второй вид деятельности. При сборке получите интерфейс класса ошибок или ожидаемый enum, где он говорит Activity {Button button ..., а также где он говорит void У меня есть два файла Java. MainActivity.java и Main2Activity.java. Проблема, похоже, с первым. Код следует за пакетом

package com.cancunsteve.aboutcancunsteve;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MainActivity extends AppCompatActivity {
Button button;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Get the view from activity_main.xml
    setContentView(R.layout.activity_main);

    // Locate the button in activity_main.xml
    button = (Button) findViewById(R.id.MyButton);

    // Capture button clicks
    button.setOnClickListener(new OnClickListener() {
        public void onClick(View arg0) {

            // Start NewActivity.class
            Intent myIntent = new Intent(MainActivity.this,
                    MainActivity2.class);
            startActivity(myIntent);
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}
}

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Что-то не так с вашим кодом! Этот код никогда не скомпилируется!

Во-первых, у вас есть два повторяющихся метода!

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

}

А это внутри класса MainActivity

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Get the view from activity_main.xml
    setContentView(R.layout.activity_main);

    // Locate the button in activity_main.xml
    button = (Button) findViewById(R.id.MyButton);

    // Capture button clicks
    button.setOnClickListener(new OnClickListener() {
        public void onClick(View arg0) {

            // Start NewActivity.class
            Intent myIntent = new Intent(MainActivity.this,
                    NewActivity.class);
            startActivity(myIntent);
        }
    });
}

Во-вторых, один из ваших методов объявлен вне класса MainActivity! Я думаю, что отсюда и твоя проблема! Java считает эту строку: public class MainActivity extends Activity {...} это перечисление или класс! Вот что говорит ошибка!

Удалите первый метод onCreate, и ваша проблема должна быть решена!

0 голосов
/ 25 августа 2018

если вы говорите, что второе действие называется MainActivity2, тогда Intent должен выглядеть следующим образом:

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