Toast 를 표시할려면 보통 getBaseActivity를 Context에 부르면 되지 않나??라고 생각하고 시도....보기좋게 실패..
어쩌면 UI쓰래드가 아니면 Toast는 안되나 보다..
[잘못된 방법]
Toast.makeText(getBaseActivity(), text, Toast.LENGTH_SHORT).show();
]]
[착한 방법]
getBaseActivity().runOnUiThread(
new
Runnable() {
@Override
public
void
run() {
Toast.makeText(getBaseActivity(), text, Toast.LENGTH_SHORT).show();
}
});
]]
--------------------------------------------------------->
[StringInputDialogBuilder]
String문자열을 입력시키는 다이얼로그를 간단하게 생성하는 빌더
안드로이드 리소스ID와 콜백설정만으로 간단하게 가능..
/**
*문자열 입력 다이얼로그생성샘플
*/
private
void
sampleStringInputDialogBuilder() {
//UI쓰래드가 아니면 움직이지 않음
getBaseActivity().runOnUiThread(new
Runnable() {
@Override
public
void
run() {
//다이얼로그 생성
StringInputDialogBuilder builder = new
StringInputDialogBuilder(getBaseActivity(),
R.string.user_regist_title, //Title문구 리소스ID
R.string.user_regist_detail, //본문 리소스ID
R.string.user_regist_error, //에러발생시 Toast로 표시되는 문구의 리소스ID
R.drawable.ic_launcher, //타이틀 아이콘이미지 리소스 ID
//ok버튼 클릭시 콜백
//pCallbackValue에 입력한 문자열이 들어옴
new Callback<String>() {
@override
public
void
onCallback(String pCallbackValue) {
Toast.makeText(getBaseActivity(),
"「" + pCallbackValue +
"」등록되었습니다.",
Toast.LENGTH_SHORT).show();
}
},
//Cancel버튼을 눌렸을때 콜백
new DialogInterface.OnCancelListener() {
@Override
public void
onCancel(DialogInterface dialog) {
Toast.makeText(getBaseActivity(), "등록을 취소하였습니다.",
Toast.LENGTH_SHORT).show();
}
});
//create로 생성
final Dialog dialog = builder.create();
dialog.show();
Toast나 Dialog는 UI쓰래드가 아니면 안되는 듯...
퇴근하고 만들어 봐야지...
'Android & AndEngine' 카테고리의 다른 글
문득 리버시게임을 만들고 싶어진 주말..(1) (0) | 2014.02.08 |
---|---|
엔드엔진(andEngine) adMob광고를 하단 중앙에 표시하는 법 (0) | 2014.02.05 |
텍스트 출력에 멋을 부려보장~ (0) | 2014.01.28 |
InitialScene클래스 작성법 (0) | 2014.01.28 |
엔드엔진(andEngine) 멀티씬액티비티 작성 예.. (0) | 2014.01.28 |