case R.id.btStart:
//Intent intent = new Intent(Main.this, SelectStage.class);
intent = new Intent(Main.this, SelectTab.class);
startActivity(intent);
break;
=============================
if(mPuzzle.checkGameOver()) {
Toast.makeText(mPuzzle, "Complete", Toast.LENGTH_SHORT).show();
invalidate();
}
퍼즐 게임을 만들고 있습니다.
위에 것은 버튼 들 중 스타트 버튼 눌렀을 시 intent 를 통해 퍼즐 이미지선택화면에 띄웁니다.
그리고 게임을 진행하고 다 완료 했을 시 아래 소스 부분에서 컴플릿을 띄우게 됩니다.
근데 여기서 컴플릿을 toast로 띄우고서 자동으로 이전 이미지 선택화면으로 전환 시킬려고 하는데
이것도 intent로 할려고 했더니 안 되서 이렇게 질문 드립니다...
고수님들! 한줄기 빛을 보여주세요...
intent로 된다면 어찌해야 하나요. intent로 안된다면 다른 방법 알려주셔요!~
한 액티비티에서 다른 액티비티를 인텐트로 띄우시고 다시 나중에 원래대로 돌아가신다는 말씀이시죠?
두가지 방법이 있습니당.
1. 액티비티1 > 인텐트 날림 > 액티비티2 뜸 > 토스트 후 > finish 호출 > 액티비티2 죽음 > 남아있던 액티비티 1 보여짐
2. 액티비티1을 메니페스트에서 싱글 인스턴트로 설정 android:launchMode="singleInstance" > 액티비티2 에서 액티비티1을 인텐트로 띄울시 아래 깔려있던 액티비티1이 보여짐
^^ 잘 되셨으면 좋겠네요.
두 분 답변 잘 보았습니다!~
finish 를 호출해서 하는것은 안그래도 해 보았는데 왜 그른지 계속 에러가 뜨더라구여;
그래서 미스터유님이 알려주신 런치모드를 써서 해 보려고 인터넷 뒤지고 해서 해 봤는데 안되네용;;;
제가 탭 액티비티를 써서 하는데...
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sus.main"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<activity android:name="sus.puzzle.Main" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="sus.puzzle.MyPuzzle" android:label="@string/app_name"/>
<activity android:name="sus.puzzle.SelectTab" android:label="@string/app_name"/>
<activity android:name="sus.puzzle.SelectStage" android:label="@string/app_name"/>
<activity android:name="sus.puzzle.SelectStageCustom" android:label="@string/app_name"/>
<activity android:name="sus.puzzle.Howplay" android:label="@string/app_name"/>
</application>
<uses-sdk android:minSdkVersion="4" />
</manifest>
메니페스트에 저렇게 해 둔 상태 입니다.
selectTab이 탭액티비티를 써서 한 것이고 거기에 selectstage 가 같이 화면에 출력이 되어집니다
그리고 selectstage에서 그림을 선택 후 mypuzzleview를 통해 화면에 보여지고 여기서 클리어 하면 toast가 나오게 됩니다.
toast를 화면에 보여지고 자동으로 selectTab 그니까 그림 선택 하는 화면으로 돌아가게끔 하려고 하는건데요...
런처모드를 메니페스트에 어떻게 해야 할지를 모르곘어요..ㅜㅜㅜ
제가 초보라 잘 모르는데;
onResume에 따로 작업하고 한건 없는데;;
갑자기 의문 드는건데... 그림 다 맞추고 toast로 띄우는 부분이
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction()==MotionEvent.ACTION_DOWN) {
int x = (int) (event.getX()/mPuzzle.blockSize);
int y = (int) (event.getY()/mPuzzle.blockSize);
if(mPuzzle.moveNext(x, y)) {
mPuzzle.mMove++;
mHandler.sendEmptyMessage(1);
// 사운드 소리 처리
}
else {
// 못움직일때 소리 처리
}
mPuzzle.moveNext(x, y);
invalidate();
if(mPuzzle.checkGameOver()) {
Toast.makeText(mPuzzle, "Complete", Toast.LENGTH_SHORT).show();
invalidate();
}
return true;
}
return false;
}
이 부분인데 여기서 finish를 쓰면 이전 화면인 탭액티비티 쓴 화면으로 갈 수가 있는건가여??




그냥 toast show한 다음에 바로 intent로 쏘시면 되야 하는거 아닌가요?