0
그래서 안드로이드 활동에서 AlertDialog에 대한 코드를 얻었습니다. 올바른 순간에 제대로 작동하지만 "OK"버튼을 누르면 입력 한 2 개의 변수를 저장해야합니다. 활동 후에 해당 문자열을 사용할 수 있어야하는 2 개의 문자열로 변환합니다.Android에서 AlertDialog의 값을 반환하거나 저장 하시겠습니까?
private void showDialog(){
AlertDialog.Builder alertdg = new AlertDialog.Builder(this);
alertdg.setTitle("Choose page");
alertdg.setMessage("Choose episode/page");
final EditText page = new EditText(this);
final EditText episode = new EditText(this);
page.setWidth(210);
episode.setWidth(210);
LinearLayout layout = new LinearLayout(this);
layout.addView(episode);
layout.addView(page);
alertdg.setView(layout);
alertdg.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
episodeString = episode.getText().toString();
pageString = page.getText().toString();
}
});
alertdg.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
alertdg.show();
}
그리고 당신은 이미 2 문자열 "episodeString"어딘가에 활동의 시작에서 "PAGESTRING"를 선언 궁금하고, 내가 올바르게 선언 알고있는 경우에 그렇습니다. 이제 내가 궁금해하는 것은, 왜 그 값들을 반환하지 않아서 나머지 활동들이 그들을 사용할 수 있을까? 여러 번 시도했지만 대화 상자가 반환되지 않습니다/값을 저장 ... 내가 뭘 잘못하고있어?
당신이 코드의이 부분을 디버깅 적이 작동? 그렇다면 onClick 뒤에 값을 인쇄하십시오. 나는 OnClick에서만 문제가 있다고 가정하고 있습니다. –
글쎄, 모든 일을 올바르게하고 있습니다. 따라서 기술적으로 코드가 작동해야합니다. 변수를 액세스하는 방법과시기, 그리고 정확히 정의한 위치를 알려주실 수 있습니까? 그리고 @Drax와 마찬가지로 onClickListener에 값을 기록하려고 시도해보십시오. 적어도 atleast 값을 얻고 있는지 확인하십시오. –
나는 당신이 무엇을하려고하는지 알 것 같아요. 당신이'showDialog'를 호출하자 마자 그 변수들을 사용하려고합니까? 변수가 OK 버튼을 누른 후에 만 값이 채워지는 것을 볼 때까지는 비어 있습니다. 나는 이것이 이것을 해결하기를 바랍니다. – st0le