Android 개발~대화상자 열기
개시하다
안녕하세요.나는 모 학교에서 프로그래밍 등을 배우는 서버 측의 프로그래머 나루터다.
이번에도 안드로이드 개발해.
대상
대화 상자 표시
대화 상자 구성
데이터 제작 및 표시 절차
경보 발생기의 제작, 표시 처리는 다음과 같다.
1) DialogFragment를 상속하는 클래스를 만듭니다.public class SimpleDialogFragment extends DialogFragment {
2) onCreateDialog()는 메소트에서 이노크 주체의 생성 처리를 기술한다.public Dialog onCreateDialog( ... ) {
ダイアログ生成処理(後述)
}
3) 아크릴산 에스테르가 표시될 때 아래의 외투를 기술한다
public class SimpleDialogFragment extends DialogFragment {
public Dialog onCreateDialog( ... ) {
ダイアログ生成処理(後述)
}
SimpleDialogFragment dialog = new SimpleDialogFragment();
FragmentManager manager = getSupportedFragmentManager();
< 引数は以下の2個。 >
第 1 : フラグメントマネージャ
第 2 : ダイアログを識別するタグ文字列(任意の文字列)
dialog . show ( manager , “ ... ” );
(참고)DialogFragment.FragmentManagerともにv4パッケージの物を import する。
○ import android.support.v4.app.FragmentManager
× import android.app.FragmentManager
주름 바디 생성 단계
이 작업에서 작성한 earkfrace 레벨의 onCreateDialog() Mesort에 기술된 Arearta eark 바디의 생성 처리는 다음 절차를 따릅니다.
1) 경보 생성 일록스타가 닫힙니다.
AlertDialog.Builder builder = new AlertDialog.Builder( コンテキスト );
2) 디스플레이를 설정합니다.・コンテンツエリア
builder.setMessage( ... );
・タイトル
builder.setTitle( ... );
3) 동작 버튼을 설정합니다.builder . setPositiveButton( “ ボタンラベル ” , ボタンタップ時のリスナオブジェクト(後述));
다른 항목으로는 setNegativeButton(), setNeutralButton()이 있습니다.4) 주름이 생긴다.
AlertDialog dialog = builder.create( ) ;
(참고)AlertDialog クラスは、v7 パッケージのものを import する
클릭 처리
Aratta의 일록의 동작 도표판의 처리는 다람쥐급에 기술되어 있다.
단계는 다음과 같습니다.
1) DialogInterface.OnClickListener 인터페이스를 구현하는 네스트된 카테고리를 만듭니다.
2) onClick () 은 mesort에서 처리를 기술합니다.private class DialogButtonClickListener implements DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface dialog(ダイアログ本体), int which(タップされたボタンの定数値)) {
//クリック処理
}
}
(참고)アクションボタンが複数ある場合、ボタンごとにリスナクラスを用意して良いが、第 2 引数 ( int which ) を使って分岐させても良い。
활동과의 결합
(1) 아크릴산 에스테르 획득
주름 안에서 기체에 표시되는 활성화를 얻으려면 getActivity () Mesort를 사용하십시오.Activity parent = getActivity();
(2) 세로 방향
아크릴산 에스테르에서 변주곡까지의 전송 방법은 다음과 같다.
1) Bundle 닫기를 생성합니다.Bundle extras = new Bundle();
2) onClick () 은 mesort에서 처리를 기술합니다.extends.putデータ型( “名前” , 値 );
3) 주름 및 주름 2)의 Bundle 닫기를 설정합니다.dialog.setArgments(extends);
4) 접착제 내에서 getargments()Mesort를 통해 위의 Bundle OFF를 획득하고 데이터를 꺼냅니다.
→ 체크 아웃 방법은 Intent와 동일합니다(미리 null 검사).
샘플 코드
FullDialogFragment.javapublic class FullDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("通常ダイアログ");
builder.setMessage("よろしいですか?");
builder.setPositiveButton("ok", new DialogButtonClickListener());
builder.setNeutralButton("??", new DialogButtonClickListener());
builder.setNegativeButton("NG", new DialogButtonClickListener());
AlertDialog dialog = builder.create();
return dialog;
}
/**
* ダイアログのボタンが押されたときの処理が記述されたメンバクラス。
*/
private class DialogButtonClickListener implements DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface dialog, int which) {
Activity parent = getActivity();
String msg = "";
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
msg = "通常ダイアログ: OKが選択されました。";
break;
case DialogInterface.BUTTON_NEUTRAL:
msg = "通常ダイアログ: ??が選択されました。";
break;
case DialogInterface.BUTTON_NEGATIVE:
msg = "通常ダイアログ: NGが選択されました。";
break;
}
Toast.makeText(parent, msg, Toast.LENGTH_SHORT).show();
}
}
}
활동 범주(발췌문)FullDialogFragment dialog = new FullDialogFragment();
FragmentManager manager = getSupportFragmentManager();
dialog.show(manager,"FullDialogFragment");
TIPS
날짜 선택 대화 상자
날짜 선택 대화 상자에서 DatePickerDialog를 "new"및 show()로 변경하면 됩니다.
매개변수는 다음과 같습니다.
private class DialogButtonClickListener implements DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface dialog(ダイアログ本体), int which(タップされたボタンの定数値)) {
//クリック処理
}
}
(1) 아크릴산 에스테르 획득
주름 안에서 기체에 표시되는 활성화를 얻으려면 getActivity () Mesort를 사용하십시오.
Activity parent = getActivity();
(2) 세로 방향아크릴산 에스테르에서 변주곡까지의 전송 방법은 다음과 같다.
1) Bundle 닫기를 생성합니다.
Bundle extras = new Bundle();
2) onClick () 은 mesort에서 처리를 기술합니다.extends.putデータ型( “名前” , 値 );
3) 주름 및 주름 2)의 Bundle 닫기를 설정합니다.dialog.setArgments(extends);
4) 접착제 내에서 getargments()Mesort를 통해 위의 Bundle OFF를 획득하고 데이터를 꺼냅니다.→ 체크 아웃 방법은 Intent와 동일합니다(미리 null 검사).
샘플 코드
FullDialogFragment.java
public class FullDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("通常ダイアログ");
builder.setMessage("よろしいですか?");
builder.setPositiveButton("ok", new DialogButtonClickListener());
builder.setNeutralButton("??", new DialogButtonClickListener());
builder.setNegativeButton("NG", new DialogButtonClickListener());
AlertDialog dialog = builder.create();
return dialog;
}
/**
* ダイアログのボタンが押されたときの処理が記述されたメンバクラス。
*/
private class DialogButtonClickListener implements DialogInterface.OnClickListener {
@Override
public void onClick(DialogInterface dialog, int which) {
Activity parent = getActivity();
String msg = "";
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
msg = "通常ダイアログ: OKが選択されました。";
break;
case DialogInterface.BUTTON_NEUTRAL:
msg = "通常ダイアログ: ??が選択されました。";
break;
case DialogInterface.BUTTON_NEGATIVE:
msg = "通常ダイアログ: NGが選択されました。";
break;
}
Toast.makeText(parent, msg, Toast.LENGTH_SHORT).show();
}
}
}
활동 범주(발췌문)FullDialogFragment dialog = new FullDialogFragment();
FragmentManager manager = getSupportFragmentManager();
dialog.show(manager,"FullDialogFragment");
TIPS
날짜 선택 대화 상자
날짜 선택 대화 상자에서 DatePickerDialog를 "new"및 show()로 변경하면 됩니다.
매개변수는 다음과 같습니다.
매개변수는 다음과 같습니다.
샘플 코드
public void showDatePickerDialog(View view){
Calendar cal = Calendar.getInstance();
int nowYear = cal.get(Calendar.YEAR);
int nowMonth = cal.get(Calendar.MONTH);
int nowDayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(DialogSampleActivity.this, new DatePickerDialogDateSetListener(),nowYear,nowMonth,nowDayOfMonth);
dialog.show();
}
private class DatePickerDialogDateSetListener implements DatePickerDialog.OnDateSetListener {
@Override
public void onDateSet(DatePicker view,int year,int month,int dayOfMonth) {
String msg = "日付選択ダイアログ:" + year + "年" + (month + 1) + "月" + dayOfMonth + "日";
Toast.makeText(DialogSampleActivity.this, msg, Toast.LENGTH_SHORT).show();
}
}
시간 선택 대화 상자
시간 선택 대화 상자는 TimePickerDialog를 "new"하고 show () 를 선택하면 됩니다.
매개변수는 다음과 같습니다.
매개변수는 다음과 같습니다.
샘플 코드
public void showTimePickerDialog(View view){
TimePickerDialog dialog = new TimePickerDialog(DialogSampleActivity.this, new TimePickerDialogTimeSetListener(),0,0,true );
dialog.show();
}
private class TimePickerDialogTimeSetListener implements TimePickerDialog.OnTimeSetListener {
@Override
public void onTimeSet(TimePicker view,int hourOfDay,int minute) {
String msg = "時間選択ダイアログ:" + hourOfDay + "時" + minute + "分";
Toast.makeText(DialogSampleActivity.this, msg, Toast.LENGTH_SHORT).show();
}
}
이상.는 Android 대화 상자의 아웃라인입니다.만약 무슨 잘못이 있으면 지적을 기다리시면 저에게 연락 주세요.
끝까지 읽어주셔서 감사합니다.
Reference
이 문제에 관하여(Android 개발~대화상자 열기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/watataku8911/items/2b166643aca587956bbf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)