2016-10-31 5 views
0

내 앱의 작업 표시 줄에 문제가 있습니다. 내 작업 표시 줄의 배경색을 변경하고 싶습니다. 그래서이 코드를 사용했습니다. 문제는 항상 NullPointerException을 받는다는 것입니다 (bar는 항상 null입니다). 내가 무엇을 할 수 있을지?Android 액션 바 색상 및 메뉴

ActionBar bar = getActionBar(); 
    bar.setBackgroundDrawable(new ColorDrawable("COLOR")); 

또한 작업 표시 줄의 앱 오른쪽 상단에 드롭 다운 메뉴를 추가하려고합니다. 그래서 나는이 XML 코드와이 이벤트를 사용 :

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:yourapp="http://schemas.android.com/apk/res-auto" > 

    <item android:id="@+id/spinner" 
    yourapp:showAsAction="ifRoom" 
    yourapp:actionViewClass="android.widget.Spinner" /> 
</menu> 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_layout, menu); 
    MenuItem item = menu.findItem(R.id.spinner); 
    Spinner spinner = (Spinner) MenuItemCompat.getActionView(item); 
    spinner.setAdapter(adapter); // set the adapter to provide layout of rows and content 
    s.setOnItemSelectedListener(onItemSelectedListener); // set the listener, to perform actions based on item selection 

하지만 항상 yourapp에서 몇 가지 오류를 얻을 : actionViewClass (나는 항상 내가 MyApp를 같이 사용하는 어떤 잘못된 접두사 오류) R menu.menu_layout (R.menu는 존재하지 않습니다). 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

0

어떤 활동 유형을 사용하고 있습니까? ActionBar 또는 툴바가 있습니까? 메뉴 문제에 대한

getSupportActionBar(); 

을 당신은 res/menu 폴더의 메뉴 레이아웃을해야합니까 :

당신이 SupportActionBar를 사용하는 경우, 당신은 시도 할 수 있습니다?