간단한 예/아니요 확인 대화 상자를 표시하는 환경 설정을 구현하려면 어떻게해야합니까?확인 (예/아니오)을 구현하는 방법 DialogPreference?
예를 들어, Browser->Setting->Clear Cache
을 참조하십시오.
간단한 예/아니요 확인 대화 상자를 표시하는 환경 설정을 구현하려면 어떻게해야합니까?확인 (예/아니오)을 구현하는 방법 DialogPreference?
예를 들어, Browser->Setting->Clear Cache
을 참조하십시오.
간단히 말해서 alert dialog입니다. 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();
여기 DialogPreference 사용 방법에 대한 예제를 통해 비슷한 질문에 답변했습니다.
사용 의도 성향 당신에게 사용자 정의 화면을 사용하는 경우는 기본 XML 화면 또는를 사용하는 경우 다음 코드는
아래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);
처럼 될 것입니다 그리고 아래와 같이 다소 활동 클래스 만들기 , 다른 접근 방식으로 다른 사람들이 당신이 좋아하는 어떤 접근 방식을 사용할 수있는 단지 예입니다.
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();
}}
앞서 말한 것처럼 여러 가지가 있습니다. 이것은 당신이 당신의 일을 할 수있는 방법 중 하나입니다, 당신이 원했던 것을 가지고 있다고 느끼면 대답을 받아주십시오.
감사합니다.이것은 서비스에서 대화 상자를 트리거하고 있기 때문에 거의 내 앱에 필요한 것입니다. 제 경우에는 대화를 호스트 할 액티비티가 필요합니다. –
좋아해. IMHO 자세한,하지만 승인 및 올바른 방법 – John
Android에는 네가 원하는 것을 정확히 수행하는 내장 된 YesNoPreference 클래스가 있습니다 (예 및 옵션이없는 확인 대화 상자). 공식 소스 코드 here을 참조하십시오.
안타깝게도이 패키지는 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" />
:
위대한 솔루션! 그러나이 클래스의 생성자 중 하나에 문제가 있습니다! 그것은 attr (com.android.internal.R.attr.yesNoPreferenceStyle) 리소스를 참조합니다! 어떤 문제를 해결할 수 없습니다. 해결 방법은 무엇입니까? 나 자신의 프로젝트에서 하나 만들어야 하나? – reubenjohn
사용 DialogPreferneces –