작업 표시 줄에 두 개의 아이콘을 표시하려고합니다. 그 중 하나는 몇 개의 자식이있는 메뉴입니다. 그러나 나는 할 수 없다. 나는 다른 유사한 질문들로부터 몇 가지 해답을 시험했으나 아무 소용이 없다. 하나의 아이콘도 보이지 않습니다. 여기에 코드가 있습니다. 당신의 도움을 주셔서 감사합니다.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에 감사드립니다.
xml 파일뿐만 아니라 Java 코드도 표시해야합니다. 그렇지 않으면 포인트를 찾을 수 없습니다. – user3168958
Android API 레벨을 타겟팅하고 사용자의 API 레벨이 무엇인지 logcat에 오류가 있습니까? – turtle
@ turtle : 아니오. logcat에 오류가 없습니다. 최소 API 버전은 15이고 타겟 버전은 20입니다. 감사합니다! –