setHomeAsUpIndicator的Android片段示例

问题描述 投票:0回答:1

我正在尝试将针对活动而构建的Android示例改编为片段(https://www.youtube.com/watch?v=RhGMd8SsA14)。我想在片段中添加注释项并更改操作栏。我已经摸索了一段时间,以为我只会寻求帮助。

public class AddNoteActivity extends AppCompatActivity {
     ...

     @override
     protected void onCreate(Bundle savedInstanceState)
     {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_add_note);
          ...
          getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close);
          setTitle("Add Note");
     }
}

我想把它放成一个片段,这是我得到的最接近的片段:

public class AddScenarioFragment extends Fragment {

    @Override
    public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {

        inflater.inflate(R.menu.add_note_menu, menu);



        //change the title bar
        ActionBar actionBar = getActivity().getActionBar();
        actionBar.setHomeAsUpIndicator(R.drawable.ic_close);
        actionBar.setTitle("Add Scenario");


        super.onCreateOptionsMenu(menu, inflater);
    }
}

但是我收到此错误:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void android.app.ActionBar.setHomeAsUpIndicator(int)']

有关如何执行此操作的任何想法?

我正在尝试将针对活动构建的Android示例改编为片段(https://www.youtube.com/watch?v=RhGMd8SsA14)。我想在片段中添加注释项并更改操作栏。我去过...

android android-fragments android-menu
1个回答
0
投票

只需将代码从onCreateOptionsMenu()转移到onCreateView()方法。

© www.soinside.com 2019 - 2024. All rights reserved.