답변:
그것은 간단한 경고 대화 상자입니다 . Federico는 당신이 물건을 찾을 수있는 사이트를 제공했습니다.
다음은 경고 대화 상자를 만드는 방법에 대한 간단한 예입니다.
new AlertDialog.Builder(this)
.setTitle("Title")
.setMessage("Do you really want to whatever?")
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
Toast.makeText(MainActivity.this, "Yaay", Toast.LENGTH_SHORT).show();
}})
.setNegativeButton(android.R.string.no, null).show();
Android에는 원하는대로 정확하게 수행하는 기본 제공 YesNoPreference 클래스가 있습니다 (예 및 아니요 옵션이있는 확인 대화 상자). 여기 에서 공식 소스 코드를 참조 하십시오 .
안타깝게도 com.android.internal.preference
패키지에 포함되어있어 Android의 비공개 API의 일부이며 애플리케이션에서 액세스 할 수 없습니다 (비공개 API 클래스는 예고없이 변경 될 수 있으므로 Google에서 액세스를 허용하지 않는 이유).
솔루션 : 내가 제공 한 링크에서 공식 소스 코드를 복사 / 붙여 넣기하여 애플리케이션 패키지에서 클래스를 다시 생성하십시오. 나는 이것을 시도했고 잘 작동합니다 (그렇지 않아야 할 이유가 없습니다).
그런 다음 preferences.xml
다른 환경 설정에 추가 할 수 있습니다 . 예:
<com.example.myapp.YesNoPreference
android:dialogMessage="Are you sure you want to revert all settings to their default values?"
android:key="com.example.myapp.pref_reset_settings_key"
android:summary="Revert all settings to their default values."
android:title="Reset Settings" />
다음과 같이 보입니다.
기본 설정 xml 화면을 사용하는 경우 Intent Preference를 사용하고 사용자 지정 화면을 사용하는 경우 코드는 다음과 같습니다.
intentClearCookies = getPreferenceManager().createPreferenceScreen(this);
Intent clearcookies = new Intent(PopupPostPref.this, ClearCookies.class);
intentClearCookies.setIntent(clearcookies);
intentClearCookies.setTitle(R.string.ClearCookies);
intentClearCookies.setEnabled(true);
launchPrefCat.addPreference(intentClearCookies);
그리고 Create Activity Class는 아래와 비슷합니다. 다른 접근 방식으로 다른 사람으로서 당신이 좋아하는 접근 방식을 사용할 수 있습니다.
public class ClearCookies extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
showDialog();
}
/**
* @throws NotFoundException
*/
private void showDialog() throws NotFoundException {
new AlertDialog.Builder(this)
.setTitle(getResources().getString(R.string.ClearCookies))
.setMessage(
getResources().getString(R.string.ClearCookieQuestion))
.setIcon(
getResources().getDrawable(
android.R.drawable.ic_dialog_alert))
.setPositiveButton(
getResources().getString(R.string.PostiveYesButton),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
//Do Something Here
}
})
.setNegativeButton(
getResources().getString(R.string.NegativeNoButton),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
//Do Something Here
}
}).show();
}}
앞서 말했듯이이를 수행하는 방법에는 여러 가지가 있습니다. 이것은 당신이 당신의 일을 할 수있는 방법 중 하나입니다. 당신이 원하는 것을 얻었다 고 느끼면 대답을 받아들이십시오.