반응형
다음 예제는 젤리빈 4.4로 테스트 되었습니다.
다음과 같이 화면 구성을 해주기 위해 activity_main.xml을 수정해줍니다.
activity_main.xml
저는 안드로이드 스튜디오에서 제공하는 design 툴을 이용해서 버튼을 배치하였습니다.
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.kch.tutorial3.MainActivity">
<Button
android:id="@+id/listbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="list"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="8dp"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent" />
<Button
android:id="@+id/exitbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="exit"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp" />
</android.support.constraint.ConstraintLayout>
MainActivity.java
간단한 알림창을 만들고 리스너를 등록하는 과정입니다. 소스를 참조하시기 바랍니다.
package com.example.kch.tutorial3;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private String [] items = {"망고쥬스", "포도쥬스", "딸기쥬스"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button listbtn = (Button)findViewById(R.id.listbtn);
//버튼 리스너 등록
listbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//알림창을 만듬
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//알림창의 타이틀 및 아이템을 지정함
builder.setTitle("list");
builder.setItems(items, new DialogInterface.OnClickListener() {
//각 알림창의 아이템이 클릭됬을때 하는 행동 지정
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//토스트 메시지를 띄움
Toast.makeText(getApplicationContext(), items[i], Toast.LENGTH_SHORT).show();
}
});
//알림창을 만들고
AlertDialog alertDialog = builder.create();
alertDialog.show();//보여주는 부분
}
});
Button exitbtn = (Button)findViewById(R.id.exitbtn);
exitbtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//알림창을 띄우고 메시지를 보여줌
builder.setMessage("do you want to exit?");
builder.setTitle("exit alarm")
//만약 Yes버튼이 눌리면
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
finish();//앱종료
}
})
//만약 No버튼이 눌리면
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();//알림창 닫음
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
}
}
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 - 6. 유튜브 재생하기 (2) | 2017.10.03 |
---|---|
안드로이드 - 5. 인텐트를 이용한 화면 전환 (0) | 2017.09.29 |
안드로이드 - 4. 커스텀 리스트뷰(custom listview) 만들기 (0) | 2017.09.23 |
안드로이드 - 3. 네비게이션 드로어(Navigation Drawer) 사용하기 (8) | 2017.09.23 |
안드로이드 - 1. 간단한 계산기 만들기 (0) | 2017.09.17 |
안드로이드 - Node.js서버로 POST방식으로 데이터를 보내기 (1) | 2017.09.16 |
안드로이드 - Node.js서버로부터 GET방식으로 데이터를 받기 (2) | 2017.09.16 |
안드로이드 - AsyncTask 파라미터 정리 (0) | 2017.09.15 |