簡體   English   中英

如何在活動中添加菜單

[英]How to inflate Menu in Activity

我試圖在我的主要活動中添加一個菜單項,但無法在主要活動中創建菜單。

這是我的Java代碼。

package in.webxstudio.classesfinal;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;

import java.util.List;

public class MainActivity extends AppCompatActivity {

private static final String TAG = "MainActivity";

private ImageView profile;
private Intent intent;

private TextView name,course,roll_no,total_lecture,lecture_attended,exams_conducted,exams_appeared,total_lessons,lessons_covered;

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


    initializeVariables();
    profile=findViewById(R.id.profile_image);
    Glide.with(getApplicationContext()).asBitmap().load("https://i.imgur.com/cXuNKOA.jpg").into(profile);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_page_menu, menu);

    // return true so that the main_page_menu pop up is opened
    return true;
}

private void initializeVariables(){
    name=findViewById(R.id.student_name);
    course=findViewById(R.id.course);
    roll_no=findViewById(R.id.roll_no);
    total_lecture=findViewById(R.id.total_lecture_text);
    lecture_attended=findViewById(R.id.total_lecture_attended_text);
    exams_conducted=findViewById(R.id.exams_conducted_text);
    exams_appeared=findViewById(R.id.exams_appeared_text);
    total_lessons=findViewById(R.id.total_lessons_text);
    lessons_covered=findViewById(R.id.lessons_covered_text);
}

private void setData(List<String> personal,List<String> attendance,List<String> results,List<String> progress){
    name.setText(personal.get(0));
    course.setText(personal.get(1));
    roll_no.setText(personal.get(2));
    Glide.with(getApplicationContext()).asBitmap().load(personal.get(3)).into(profile);

    total_lecture.setText(attendance.get(0));
    lecture_attended.setText(attendance.get(1));

    exams_conducted.setText(results.get(0));
    exams_appeared.setText(results.get(1));

    total_lessons.setText(progress.get(0));
    lessons_covered.setText(progress.get(1));
}

private void gotoDestination(Class classname){
    intent=new Intent(this,classname);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}

public void Attendance_Page(View v){
    gotoDestination(Attendance_report.class);
}

public void ResultPage(View v){
    gotoDestination(Result_report.class);
}

public void ProgressPage(View v){
    gotoDestination(Progress_Activity.class);
}

}

這是我的菜單Xml代碼

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/settings_menu"
    android:title="@string/settings" />
<item
    android:id="@+id/log_out_menu"
    android:title="@string/log_out"/>
</menu>

我還應該做什么? 我已經在我的Oncreate方法下面創建了onCreateOptionMenu()。 請說明我的代碼無法正常工作的原因以及我的代碼有什么問題

您需要在oncreate中初始化工具欄,並通過使用setSupportActionBar(toolbar)將其設置為工具欄

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM