MyTetra Share
Делитесь знаниями!
QuizActivity.java
11.04.2017
23:21
Раздел: Android - books - AndroidProgramming2e - 1 Первое приложение Android
/home/rt/AndroidStudioProjects/AndroidProgramming2e/01_FirstApp/GeoQuiz/app/src/main/java/com/bignerdranch/android/geoquiz/QuizActivity.java

package com.bignerdranch.android.geoquiz;

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


public class QuizActivity extends AppCompatActivity {

private Button mTrueButton;
private Button mFalseButton;

@Override
//Метод onCreate(Bundle) вызывается при создании экземпляра субкласса активности
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(int layoutResID) заполняет (inflates) макет и выводит его на экран.
//При заполнении макета создаются экземпляры всех виджетов в файле макета с параметрами, определяемыми его атрибутами.
setContentView(R.layout.activity_quiz);

//по идентификаторам ресурсов кнопок можно получить заполненные объекты и присвоить их полям
//перед присваиванием необходимо преобразовать в Button
mTrueButton = (Button) findViewById(R.id.true_button);
//Метод setOnClickListener(OnClickListener) получает в аргументе слушателя,
//а конкретнее — объект, реализующий OnClickListener
//Слушатель реализован в виде анонимного внутреннего класса.
//В круглых скобках создается новый безымянный класс,
//вся реализация которого передается вызываемому методу.
//В этом случае реализация методов слушателя находится непосредственно там,
//где вы хотите ее видеть, избегаем затрат ресурсов на создание именованного класса,
//который будет использоваться только в одном месте.
mTrueButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Уведомление создается вызовом следующего метода класса Toast:
//public static Toast makeText(Context context, int resId, int duration)
//Параметр Context обычно содержит экземпляр Activity (Activity является субклассом Context).
//Во втором параметре передается идентификатор ресурса строки, которая должна выводиться в уведомлении.
//Параметр Context необходим классу Toast для поиска и использования идентификатора ресурса строки.
//Третий параметр обычно содержит одну из двух констант Toast,
//определяющих продолжительность пребывания уведомления на экране
//осле того как объект уведомления будет создан, вызовите Toast.show(),
//чтобы уведомление появилось на экране.
Toast.makeText(QuizActivity.this,//В этом месте кода мы определяем анонимный класс, где this обозначает View.OnClickListener.
R.string.correct_toast,
Toast.LENGTH_SHORT).show();
}
});

mFalseButton = (Button) findViewById(R.id.false_button);
mFalseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(QuizActivity.this,
R.string.incorrect_toast,
Toast.LENGTH_SHORT).show();
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_quiz, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования