-1
這似乎是一個常見問題,有很多被接受的答案,但它們都不適合我。片段中的工具欄在啓動時崩潰應用程序
大多數的答案建議使用這段代碼將工具欄添加到一個片段:
mToolbar = (Toolbar)rootView.findViewById(R.id.toolbar);
if (mToolbar != null) {
((AppCompatActivity) getActivity()).setSupportActionBar(mToolbar);
}
唉,這仍然崩潰,即使我使用AppCompatActivity我的應用程序。我認爲這個錯誤可能在於我的Fragment類擴展了Fragment而不是AppCompatActivity,但是我還沒有足夠了解android,因爲還沒有確定這一點。它在setSupportActionBar行上崩潰。
我的代碼片段:
package erikligai.ribbitapplication;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
/**
* Created by erik on 2017-06-07.
*/
public class MessageFragment extends Fragment {
Toolbar mToolbar;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
// return inflater.inflate(R.layout.message_fragment_layout, container, false);
View rootView = inflater.inflate(R.layout.message_fragment_layout, container, false);
mToolbar = (Toolbar)rootView.findViewById(R.id.toolbar);
if (mToolbar != null) {
((AppCompatActivity) getActivity()).setSupportActionBar(mToolbar);
}
return rootView;
}
將不勝感激的任何建議。
投從
getActivity()
到AppCompatActivity
Toolbar
從Activity
饒人,我不認爲你有NullPointerException異常。 你爲什麼試圖從工具欄的片段視圖? – fbwnd發佈你的logcat。 – SripadRaj
此外,委託工具欄的通貨膨脹活動,而不是片段 –