메시지를 게시하고 사용자 의견을 얻어야하는 비 활동 클래스 ("NonActivity"라고합시다)가 있습니다. 이 작업을 수행하려면 메시지 작업 (MsgActivity) 클래스가 있어야합니다. 하지만 활동 클래스는 그래서 난 NoActivity에서 내부 헬퍼 클래스를 만들어 에 startActivityForResult()를 호출 할 수 있습니다ActivityNotFoundException 내부 클래스 활동 호출
내 활동 클래스는 thusly 히 매니페스트에 선언// just to provide an Activity to launch MsgActivity
class ActivityMsgClass extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent iMA = new Intent(this, MsgActivity.class);
iMA.putExtra("MsgText", mParams[0]);
...blah blah ...
iMA.putExtra("ButtonCode", iBtns);
startActivityForResult(iMA,3);
}
}
:
<activity android:name="ActivityMsgClass"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:launchMode="singleInstance"></activity>
하지만하려고 할 때 그것을 호출하십시오. . .
Intent i = new Intent(ctx, ActivityMsgClass.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(i);
... ActivityNotFound 예외가 발생합니다. 나는 또한 FLAG_ACTIVITY_NEW_TASK없이 그것을 시도했습니다, 나는 또한, 매니페스트에 이름을 자격, 예를 들어,
<activity android:name=".NoActivity.ActivityMsgClass"
을 시도했습니다. . . 아무 소용이 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
미리 감사드립니다.
내가 그런 경우 NonActivity 클래스와 Activity 클래스 사이에서 매개 변수를 앞뒤로 전달하는 가장 좋은 방법은 무엇입니까? 내부 클래스를 사용하려는 이유 중 하나는 NonActivity의 변수에 로컬로 액세스했기 때문입니다. – user316117
그것은 경우에 따라 다르지만 일반적으로 활동으로 작업 할 때 내부 클래스가 해결책이 아닙니다. – MByD
나는 동의한다. 그것은 내부 수업을 사용하는 것을 나에게 불쾌하게 만들었지 만, 나는 데이터를 앞뒤로 얻는 방법에 의해 곤란을 겪었다. 정적 "전역"? 너는 무엇을 제안 하는가? – user316117