3 일 전에 Android 개발을 시작했으며 야후 메신저를 개발하려고합니다. 첫 번째 응용 프로그램의 지옥, 맞지?! : DTabActivity는 동일한 활동의 여러 탭을 표시합니다 (하위 활동의 속성 초기화)
현재 직면하고있는 문제는 내가 현재 채팅하고있는 사람들을 보여 주기로되어있는 탭이있는 IM 창을 구현하려고한다는 것입니다. 레이아웃 파일과 단일 채팅 창에 필요한 활동 클래스를 설계했으며 사용자 중 몇 명을 보여주기 위해 TabActivity
을 사용하고 있습니다. 그러나 문제는 내가 활동 채팅 클래스 자체에 채팅 관련 정보 (예 : 현재 채팅하고있는 사용자의 ID)를 저장하고 새 탭을 만들 때 해당 값을 초기화하는 데 문제가 있다는 것입니다.
처음에 나는과 같이 초기화 할 BroadcastReceiver
과 의도를 사용 :
protected class MyListener extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals(
"com.sirm2x.messenger.CHAT_WINDOW_CREATED"))
{
ChatWindowActivity.this.friendId = intent.getExtras()
.getString("friendId");
}
}
}
문제는 모든 활동의 friendId
가 마지막 탭 - 투 --생성을 위해 전달 된 값으로 설정되어 있다는 것입니다 !
이와 같은 상황에 대한 해결책/권장 사항은 무엇입니까? 나는 문제에 올바르게 접근하고 있는가?
도움을 주시면 대단히 감사하겠습니다!
어리석은 나를! 그래서 대체 무엇입니까? – M2X
내가 맞다면이 브로드 캐스트는 채팅 창을 만들었을 때 전송됩니다. 이는 매개 변수가 활동을 시작하는 데 사용 된 의도에 넣을 수 있음을 의미합니다. – njzk2
내 문제의 일부를 해결할 수는 있지만 어떻게해야합니까? 다른 속성을 초기화하고 데이터를 serialize하지 않고 의도를 통해 보내려는 경우를 대비하여? 어떤 제안? 더 좋게도, TabActivity를 통해 활동에 정의 된 필드에 액세스하는 방법이 있습니까? 내가 다음에하고 싶은 일에 매우 중요합니다! – M2X