Eclipse - ButtonCLick -> новый экран с текстом? - PullRequest
1 голос
/ 14 сентября 2010

Я немного новичок в разработке для Android, и я только что закончил такие приложения, как - "Привет, мир!" И т.д.

Я знаю, как спроектировать макет, но когда дело доходит до «деятельности», я все время путаюсь.

Итак, теперь на мой вопрос - я создаю приложение, которое показывает мое школьное расписание, поэтому у меня есть 5 кнопок (понедельник, вторник, среда и т. Д.) Затем, когда я нажимаю каждую кнопку, я хочу перейти на другой экран с текущим расписанием ..

Как мне легко создавать новые экраны? Будь добр

1 Ответ

3 голосов
/ 14 сентября 2010

В следующий раз, когда вы отправите что-нибудь, обязательно добавьте фрагмент кода.Таким образом, мы можем легко помочь вам.

Что касается вашего вопроса ... что вам нужно сделать, это открыть новый вид деятельности из основного вида деятельности.Это делается с помощью намерений и метода startActivity.Я приведу простой пример, в котором есть только один день (лучший день, пятница!):

public class SchoolActivity extends Activity{
    public void onCreate(Bundle b){
        super.onCreate(b);
        setContentView(R.layout.shool_layout);

        // you have initialized your buttons here

        // let's suppose this is the reference to your friday button
        btnFriday.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // launch intent for friday
                launchDay(DayDetails.FRIDAY);
            }
        });
    }

    private void launchDay(String whichDay){
        Intent intent = new Intent(SchoolActivity.this, DayDetails.class);
        intent.putExtra(DayDetails.DAY, whichDay);
        startActivity(intent);
    }
}

Затем в своей дневной активности вы будете показывать детали на указанный день:1007 *

public class DayDetails extends Activity{
    public static final String DAY = "day";
    public static final String FRIDAY = "friday";

    public void onCreate(Bundle b){
        super.onCreate(b);
        setContentView(R.layout.daylayout);

        Bundle extras = getIntent().getExtras();

        if( extras.getString(DAY).equals(FRIDAY) ){
            // show things for the friday
        }
    }
}

Обратите внимание, что вам придется создать два файла макета в папке res/layout;один для основного макета (в данном случае school_layout.xml), а другой для деталей дня (daylayout.xml).Надеюсь, что этот пример поможет вам и даст вам представление о том, как действовать в этих случаях.

...