2013-06-27 7 views
0

넥서스 7 태블릿에 내 응용 프로그램을 실행할 때 내가 JSON 응답의 요소로 채워 스피너를 넣어 시도 4.넥서스 작업 표시 줄 버그에서 7 회

다른 장치도 넥서스에서 작동하는 동안은 문제가 있습니다 (Asynctask를 통해 서버에서이 응답을받습니다.) Nexus 7을 제외하고는 멋지게 작동합니다. 앱이 시작될 때 (아마 스피너에 어댑터를 설정하는 동안), 불행히도 Nexus 7에서 앱을 디버깅 할 수 없습니다. 관리자 계정에 대한 액세스 권한이 없습니다. 넥서스 4에 같은 문제를 디버깅하는 동안 나는 같은 코드는 갤럭시 S2에이에 메뉴 항목을 변경 한 후 일 thou를 작업 표시 줄에 내 스피너가 findById 메소드() 메소드의 알에 의해 발견되지 않는 것을 발견 :

<item 
    android:id="@+id/menuCategory" 
    android:actionLayout="@layout/action_categories" 
    android:actionViewClass="android.widget.Spinner" 
    android:showAsAction="always" 
    android:title="@string/collection"/> 

<?xml version="1.0" encoding="utf-8"?> 
<Spinner xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/menuCategorySpinner" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 

그것은 넥서스 4 작업을 시작하지만 여전히 넥서스 내가 생각하는 코드의 7 관련 부분을 바꿈은 다음과 같습니다

//First do this to initialise elements of the menu 
invalidateOptionsMenu(); 
//Find the spinner by id 
spinner = (Spinner) findViewById(R.id.menuCategorySpinner); 
//Initilise adapter 
final ArrayAdapter<Category> Adapter = new ArrayAdapter<Category>(this, android.R.layout.simple_dropdown_item_1line, result); 
//Set adapter 
spinner.setAdapter(Adapter); 

이 경우 회가 null이 될 수 있기 때문에 나는이 문제가 마지막 줄에 생각 이전에 이드가 찾지 못했지만 왜 그것이 존재하지 않는지 모르겠습니다. Nexus 7에서만 발견되며, 어떤 일이 벌어지고 있는지 알 수 있습니까?

+0

앱에 R.id.menuCategorySpinner에 대한 정의가 두 개 이상 있는지 확인하십시오. – IanB

+0

엘리멘트의 이름으로 가끔 나에게 일어난 제안을 해주셔서 감사합니다.하지만 여기서는 그렇지 않습니다. 그런데 나는 해결책을 찾았고 누군가 다른 사람이이 문제에 걸려 넘어지면 그것을 편집에 추가 할 것이라고 생각합니다. – PSIXO

답변

0

나는 갤럭시 S2가 4.1.2를 사용하고 Nexus 기기가 4.2.2이므로 다른 Android 버전의 기기에 이와 같은 불일치가 있다는 사실을 여전히 싫어합니다. 나는 이것을 안드로이드 플랫폼에서 버그로보고하는 것을 고려 중이지만 그것이 버그 리포트로 유효한지를 확인해야 할 것이다.

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.full, menu); 
      //getActionView() get a view for the given action 
    spinner = (Spinner) menu.findItem(R.id.menuCategory).getActionView(); 
    return super.onCreateOptionsMenu(menu); 
} 

getActionView()가 꽤 논리적 인 중요한 부분입니다

하지만 내가하지 않는 것은 다른 플랫폼에서 이유 : 단지 추가 당신의 onCreateOptionsMenu에서 모든 여기의 모든 그것을 필요로하는 사람들에 대한 답변입니다 회 전자 = (회 전자) menu.findItem (R.id.menuCategory); 누군가가이 질문을 겪고 그 부분을 설명 할 수 있다고 설명 할 수 있습니다.