2010-06-21 9 views
0

5 개의 버튼이있는 메인 클래스가 있는데, 클릭 할 때마다 2 개의 텍스트 뷰가있는 정보가 표시되는 활동으로 이동합니다.요소 변경을 통한 활동 재사용

5 개의 모든 활동에 대한 레이아웃이 동일하므로 당연히 하나의 활동을 사용하고 각 버튼을 눌렀을 때 해당 텍스트 뷰에 표시된 텍스트를 변경하여 다시 사용하고 싶습니다.

어떻게하면됩니까? main 클래스에 글로벌 인 텐트가 있다고 생각합니다.이 클래스는 startActivity()와 함께 각 버튼에 대해 .putExtra() 메서드를 호출하여 추가 데이터를 보내서 어떤 버튼에서 왔는지 알 수 있습니다. 텍스트 뷰).

다른 솔루션이 더 좋습니까?

질문이 하나 더 있습니다. 앱이 실행되는 동안 Java 코드로 활동 제목을 어떻게 변경합니까? 응용 프로그램을 시작하기 전에 xml을 사용할 수 있지만 활동을 다시 사용하려는 경우이를 변경하는 방법은 무엇입니까?

<activity android:name=".MynewClass" 
      android:label="@string/class_text"> 
</activity> 

답변

2

모든 5 명 활동에 대한 레이아웃은 자연스럽게 내가 한 활동을 사용하고 누르면 각 버튼에 대한 그 2 textviews에 표시되는 텍스트를 변경 하여 재사용 를 원하는 것 같습니다.

확실히 하나의 가능성입니다.

어떻게하면됩니까?

해결책 (Intent 포함)은 괜찮습니다. 그러나, 나는 당신이 엑스트라를 통해 그것을 변경하기 때문에 그것을 "글로벌"Intent으로 만들지 않을 것입니다. 필요한 경우 바로 Intent을 새로 만드십시오.

응용 프로그램 가 실행되는 동안 어떻게 자바 코드와 함께 활동의 제목을 변경합니까?

setTitle()으로 전화하십시오.

+0

질문이 하나 더 있습니다. 주된 활동의 새로운 의도 (this, mysecondclass.class)가 실제로 새로운 활동을 생성하면서 항상 새로운 인 텐트를 생성하지 않습니까? 아니면 모든 시간 동안 여전히 하나의 활동만을 불러오는 의도입니까? – Milan

+0

아니요, 새로운 'Intents'를 만들면 Android가 'Activity'의 새 인스턴스를 생성하는지 여부와 관련이 없습니다. 기본적으로,'Activity'의 새로운 인스턴스가 생성됩니다. 'android : launchMode' (Activity manifest에서) 또는'FLAG_ACTIVITY_SINGLE_TOP'과'FLAG_ACTIVITY_CLEAR_TOP' ('-Intent' 기반으로이 행동을 제어하기)를 보라. – CommonsWare

관련 문제