2017-01-26 5 views
-1

여러 번 묻는 질문 일뿐입니다. 사례별로 해결 방법이 있습니다. 도구 모음으로 aap을 만들고 두 번째 활동으로 이동하면 도구 모음이 표시됩니다. 아이콘뿐만 아니라 설정 메뉴하지만 불행히도 도구 모음이 나타나지만 아이콘이 표시되지 않습니다. 또한 이러한 코드 줄에서 null 포인터 예외가 표시됩니다.툴바 이미지 오류

getSupportActionBar(). setDisplayHomeAsUpEnabled (true);

getSupportActionBar(). setHomeButtonEnabled (true);

Error pic

이 내 MainActivity.java

package com.example.zaina.toolbar; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.ImageView; 
import android.widget.Toast; 

public class MainActivity extends AppCompatActivity { 
    Toolbar toolbar; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     toolbar = (Toolbar) findViewById(R.id.aap_bar); 
     setSupportActionBar(toolbar); 
    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu item) { 
     getMenuInflater().inflate(R.menu.menu_main, item); 
     return true; 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem menuItem){ 
     int id=menuItem.getItemId(); 
     if(R.id.action_favorite==id){ 
      startActivity(new Intent(this,aap.class)); 
      return true; 
     } 
     if(R.id.action_settings==id){ 
      Toast.makeText(MainActivity.this, "Hey you hit", Toast.LENGTH_SHORT).show(); 
      return true; 
     } 
     return onOptionsItemSelected(menuItem); 
    } 
} 

내 activity_main

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.zaina.toolbar.MainActivity"> 
    <include android:id="@+id/aap_bar" layout="@layout/aap_bar"></include> 
    <TextView 
     android:layout_below="@id/aap_bar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Hello World!" /> 
</RelativeLayout> 

입니다 이것은 내 aapbar_xml.xml

<?xml version="1.0" encoding="utf-8"?> 

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    xmlns:aap="http://schemas.android.com/tools" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:background="@color/colorPrimary" 
    aap:Theme="@style/MyCustom" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"> 
    </android.support.v7.widget.Toolbar> 

T입니다 자신이이 내 menu_sub.xml입니다 aap.java

package com.example.zaina.toolbar; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 

public class aap extends AppCompatActivity{ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_aap); 
     Toolbar toolbar= (Toolbar) findViewById(R.id.aap_bar); 
     setSupportActionBar(toolbar); 
      getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
      getSupportActionBar().setHomeButtonEnabled(true); 
    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu item) { 
     getMenuInflater().inflate(R.menu.menu_sub, item); 
     return true; 
    } 
} 

내 activity_aap.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.zaina.toolbar.aap"> 
    <include android:id="@+id/app_bar" layout="@layout/aap_bar"></include> 
</RelativeLayout> 

입니다

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:aap="http://schemas.android.com/apk/res-auto"> 
    <item android:id="@+id/za" 
     android:icon="@drawable/ic_chevron_left_black_24dp" 
     android:title="left" 
     aap:showAsAction="ifRoom"/> 
    <item android:id="@+id/zee" 
     android:title="sett" 
     aap:showAsAction="never"/> 
</menu> 
+0

는 로그 정보 –

+0

로그 정보 그림은 상단에있는 "오류 그림"업로드 POST를 사용하여 응용 프로그램 @ ShubhamShukla –

+0

내 대답이 문제를 해결하는지 확인하십시오 –

답변

0

하려고, NullPointException의 몇 가지 이유가있을 수 있습니다 :

ActionBar을 지원하지 않는 테마를 사용하고있는 것 같습니다. 이 테마를 사용하여 시도 : android:theme="@android:style/Theme.Holo.Light".

if (getSupportActionBar() != null) 
{ 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setHomeButtonEnabled(true); 
} 

을 또는 null을 반환 aap.java

+0

당신이 코드를 시도했지만 동일한 Null 포인터 예외를 제공합니다 @ W4R10CK –

+0

app.bar의 ID를 app.java의 app.bar에서 변경하려고 시도합니다. – W4R10CK

+0

예! 덕분에 많이 동생이되었습니다 –

0

findViewById를 방법에 app_bar의 id을 변경하려고 :

는 잡으려고.

android:id="@+id/aap_bar 

당신은 또한 잘못 네임 스페이스 AAP를 사용하여 도구 모음에 id 속성을 추가

xmlns:app="http://schemas.android.com/apk/res-auto" 
+0

지금은 두 번째 활동으로 이동했지만 [email protected] Shukla –

+0

메뉴 이미지에서이 속성을 사용하면 이미지 및 설정 아이콘이 표시되지 않습니다. showAsAction = "항상" –