2010-12-31 5 views
9

나는 3 가지 활동이 포함 된 활동 그룹이 있습니다. 버튼을 누르면이 활동 그룹에 들어가 첫 번째 활동을 보여줍니다. 1 차 활동에서 2 차 활동으로 이동할 수 있으며 2 차 활동에서 3 차 활동으로 이동할 수 있습니다.스피너를 활동 그룹에 배치하는 동안 오류가 발생했습니다.

나는이 3 번째 활동 레이아웃에 스피너를 가지고 있습니다. 문제는 해당 회 전자를 클릭 할 수 없다는 것입니다. 오류 표시 :

12-31 11:29:41.082: ERROR/AndroidRuntime(474): android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running? 

이 문제를 어떻게 해결할 수 있습니까? requestinfo.xml 내부

setContentView(R.layout.requestinfo); 
Spinner spinner = (Spinner) findViewById(R.id.spinner); 
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      PGDealerInfoRequestActivity.this, R.array.request_options, android.R.layout.simple_spinner_item); 
    spinner.setAdapter(adapter); 

,

<Spinner android:id="@+id/spinner" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:textColor="@android:color/darker_gray" 
      android:textSize="12sp" android:textStyle="bold" 
      android:layout_marginLeft="10dp" android:layout_marginTop="8dp" /> 
+0

일부 코드를 게시하면 더 나은 대답을 얻을 수 있습니다. – ninjasense

+0

동일한 문제가 있으며 매튜가 제안한 것을 따랐습니다. 정말 효과가있었습니다. – Nitish

답변

44

오류는 setContentView에서 발생했습니다. 내가 대신 우리가 제공해야 그

setContentView(R.layout.mylayout); 

,

View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.mylayout, null); 
this.setContentView(viewToLoad); 

을 부여 그리고 스피너 코드가 있었다 :

Spinner spinner = (Spinner) findViewById(R.id.spinner); 

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      this, R.array.request_options, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_item); 
    spinner.setAdapter(adapter); 
+1

와우 형제 , 대단히 감사합니다 –

+2

고마워요. 같은 문제가있어서 당신의 대답이 저의 문제에서 저를 도왔습니다. – Dharmendra

+0

고마워요. 같은 문제가 있습니다.하지만 고칠 수 없었습니다. 제발 도와주세요 http://stackoverflow.com/questions/ 7609519/android-spinner-error-android-view-windowmanagerbadtokenexception- – Piraba

1

추가 할 수 spiner.setDropDownViewResource : 사람이 PLZ ...

안녕,

가 부착 된 회 전자에 대한 코드를 찾아주세요 도와 드릴까요()? 초기화에서 this 또는 getApplicationContext()라는 컨텍스트를 사용합니다. 예를 들어 AlertDialog.Builder (xxx.is) => AlertDialog.Builder (this.getParent())

+0

나는 ...을 추가했지만 같은 오류가 발생했습니다 ... – Mathew

0

이 문제가 해결 될 수 있습니다. this.getParent() 나는 내 코드에서 여러 번 사용했습니다. 그것은 f9 일했다.

+1

추가되었지만 회 전자 혼자서 할 수 없었습니다 ... 다른 대화가오고 있습니다 ... 같은 오류가 있습니다 ... :( – Mathew

0

매튜는 자신의 방법을 작동합니다

View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.mylayout, null); 
this.setContentView(viewToLoad); 

내가 folowed 이 메서드는 버튼 클릭시 내 응용 프로그램이 충돌합니다. 이 문제를 해결하려면 xml 파일에서 onClick 메서드를 제거하십시오. 자바 클래스로 이동하여 button.setOnClickListener를 추가하십시오!

관련 문제