2014-10-24 3 views
0

작업 표시 줄에 두 개의 아이콘을 표시하려고합니다. 그 중 하나는 몇 개의 자식이있는 메뉴입니다. 그러나 나는 할 수 없다. 나는 다른 유사한 질문들로부터 몇 가지 해답을 시험했으나 아무 소용이 없다. 하나의 아이콘도 보이지 않습니다. 여기에 코드가 있습니다. 당신의 도움을 주셔서 감사합니다.Android : 아이콘이 작업 표시 줄에 표시되지 않습니다.

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
tools:context="com.semantic.semanticOrganizer.sem.activities.HomeActivity" > 

<item android:id="@+id/viewTags" 
    android:icon="@drawable/ic_action_labels" 
    app:showAsAction="always" 
    android:title="Tags" 
    /> 

<item 
    android:id="@+id/a_More" 
    android:icon="@drawable/ic_more_vert_white_36dp" 
    app:showAsAction="always" 
    android:title="More"> 
    <menu> 
<item android:id="@+id/action_view_notes" 
    android:title="Notes" 
    android:orderInCategory="100" 
    app:showAsAction="never" /> 

<item android:id="@+id/action_view_habits" 
    android:title="Habits" 
    android:orderInCategory="100" 
    app:showAsAction="never" /> 
<item android:id="@+id/action_view_checklists" 
    android:title="Checklists" 
    android:orderInCategory="100" 
    app:showAsAction="never" /> 
<item android:id="@+id/action_view_tags" 
    android:title="Tags" 
    android:orderInCategory="100" 
    app:showAsAction="never" /> 
<item android:id="@+id/action_settings" 
    android:title="@string/action_settings" 
    android:orderInCategory="100" 
    app:showAsAction="never" /> 
    </menu> 

    </item> 
</menu> 

자바 코드

public class HomeActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_home); 

    stuffWhichDoesNotInvolveGettingActionBar(); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu items for use in the action bar 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.home, menu); 
    return super.onCreateOptionsMenu(menu); 
} 


@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    if (id == R.id.action_view_tags) { 
     return true; 

    } 
    if (id == R.id.action_view_notes) { 
     return true; 
    } 
    if (id == R.id.action_view_checklists) { 
     return true; 
    } 
    if (id == R.id.action_view_habits) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 


private void stuffWhichDoesNotInvolveGettingActionBar(){ 
    //Code 
} 

편집 : 중성미자가 제안한 것처럼, 나는 APPCOMPAT 테마로 이동했습니다. 그런데이 error이 Win64 시스템에 나타났습니다. 속성 "actionModeShareDrawable"에 대한 자원을 찾을 수 없습니다. 나는 compileSdkVersion을 21로 바꾸었고 그것이 작동하지 않았다. 그래서, 지금은 AppCompat없이해야 할 수도 있습니다. 나는 현재 홀로를 사용하고 있습니다. Holo 테마에 대한 수정 사항을 제안하십시오.

나는 내가 Gradle을 2.3 빌드 시스템이 아직 안드로이드 주위 아니라는 것을 발견 이후 대신 V21의 지원 라이브러리의 V20을 사용하여 언급 버그 만에 고정 된 오류에 대한 주위에 작품을 발견 편집 그 버전 (Groovy 2.3.5의 Bug Fixed Jar가 발표되었습니다). 그런 다음 ActionBarActivity를 사용할 수 있었고 이제 작업 표시 줄 아이콘이 표시됩니다. 모두와 특히 Quark에 감사드립니다.

+0

xml 파일뿐만 아니라 Java 코드도 표시해야합니다. 그렇지 않으면 포인트를 찾을 수 없습니다. – user3168958

+0

Android API 레벨을 타겟팅하고 사용자의 API 레벨이 무엇인지 logcat에 오류가 있습니까? – turtle

+0

@ turtle : 아니오. logcat에 오류가 없습니다. 최소 API 버전은 15이고 타겟 버전은 20입니다. 감사합니다! –

답변

0

것은

ActionBarActivity 이제 도구 모음을 지원하기 위해 사용되지 않습니다

public class HomeActivity extends Activity 

편집


public class HomeActivity extends ActionBarActivity 

ActionBarActivity 대신 Activity, 즉하게 확장 할 수 있습니다. 도구 모음을 사용하려면 사용 -

dependencies { 
    compile 'com.android.support:appcompat-v7:22.1.1' 
} 

도구 모음 및 AppCompatActivityhere, herehere에 대해 자세히 알아보기 -

public class HomeActivity extends AppCompatActivity 

build.gradle (Module: app)에서 지원 라이브러리의 최신 버전을 포함해야합니다.

+0

나는 시험해 보았다. 하지만 appCompat으로 테마를 변경해야한다고 말합니다. 나는 현재 홀로를 사용하고 있습니다. –

+0

그런 다음 compat로 변경하십시오.그들 사이에는별로 차이가 없습니다. – Confuse

+0

'ActionBarActivity'없이 실행되지 않을 것 같아요 ... – Confuse

0

코드 컴파일을 시도했는데 다음 작업이 효과적이었습니다. 아이콘을 표시 할 모든 메뉴 항목에 대해 을 android:showAsAction으로 바꿉니다.

+0

나는 그것을 시험해 보았다. 그것은 Vishal을 작동시킵니다. –

관련 문제