2013-01-04 5 views
0

내 응용 프로그램의 로고를 화면 상단의 작업 표시 줄에 배치하고 싶습니다. 현재 기본 녹색 안드로이드 실행기 아이콘이 표시됩니다.작업 표시 줄의 아이콘 변경

<application 
    android:allowBackup="true" 
    android:logo="@drawable/logo" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

이 작동하지 않았다 ... 아이콘 코드 :

enter image description here

나는 다음과 같은 시도했지만 변화 본 적이있다 :

내 매니페스트 파일에 갔다와 안드로이드를 변경 그래서 저는 코드 내에서 ActionBar 객체를 만들고 setIcon 메서드를 사용했습니다.

** java.lang.RuntimeException가 : 활동 ComponentInfo {com.example.waitronproto3/com.example.waitronproto3.MainActivity를 시작할 수 없습니다 위의 코드는 다음과 같은 런타임 오류가 발생하지만

ab.setIcon(R.drawable.logo); 

} : java.lang.NullPointerException **

아무도 왜 이런 일이 일어나는 지 알 수 있습니까? 폴더에서 볼 수 있고 IDE 내에서 오류가 생성되지 않기 때문에 리소스 R.drawable.logo가 있습니다.

도움을 주시면 감사하겠습니다.

+0

'nullpointer'는 해당 줄의 ActionBar가 'null'이고 드로어 블이 아닌 경우입니다. 어쨌든, 프로젝트를 청소하고'logo '대신'android : icon'을 사용 해보십시오. –

답변

1

그래, 내가 아는 한 android:logo 속성이 없습니다. ActionBar을 만들 수 없습니까? 이것을 사용하셨습니까?

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(...); 
    getActionBar().setLogo(R.drawable.logo)` 
} 
+0

NPE에게 줄 수있는 글을 게시하십시오. 전체 스택 추적을 보면 " by "예외에 대해 더 자세히 알려주는 줄. –

+1

당신의 답은 제가이 문제를 해결하는 데 도움이되었습니다. 내가해야 할 일은 아이콘을 설정하기 전에 내가하지 않은 액션 바에 대한 참조를 얻는 것뿐이었습니다. – Javacadabra

0

ActionBar에 대한 참조를 잊어 버리는 것을 제외하고는 모든 것이 옳았습니다. 아래의 코드는 문제를 해결했습니다.

관련 문제