如何在我的项目中添加选项菜单而不干扰我在android studio中的代码

我正在尝试制作GCD计算器。我已经在MainActivity.java中输入了整个代码,并在activity_main.xml中输入了布局。现在,我想在不干扰代码的情况下向我的现有项目添加一个选项菜单。

您可以在下面看到MainActivity.java文件:

(主要活动)

 package com.example.mygcdapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import java.util.Arrays;

public class MainActivity extends AppCompatActivity {

    private EditText editText;
    private TextView textView;

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

        editText = findViewById(R.id.editText);
        textView = findViewById(R.id.textView);
    }

    public void calculateButton(View view){

        String[] stringsNumbers = editText.getText().toString().split(", ");
        Integer[] integersNumbers = new Integer[stringsNumbers.length];

        for (int i=0; i<stringsNumbers.length; i++){
            integersNumbers[i] = Integer.parseInt(stringsNumbers[i]);
        }

        Arrays.sort(integersNumbers);

        int GCD = 1;
        int intRemainder;

        for (int i = 2; i<=integersNumbers[0]; i++){
            intRemainder = 0;

            for(int j=0;j<integersNumbers.length; j++){
                if(integersNumbers[j]%i != 0){
                    intRemainder = 1;
                    break;
                }
            }

            if (intRemainder == 0){
                GCD = i;
            }
        }
        textView.setText(String.valueOf(GCD));
    }
}

现在,我想向我的项目添加选项菜单。因此,我在3个菜单项中创建了一个名为menu的目录和一个名为commonmenus的菜单中的资源文件。

常用资源文件如下:

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

-<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">

<item android:title="Share" android:id="@+id/mnuShare" android:icon="@drawable/ic_share" app:showAsAction="ifRoom"/>

<item android:title="Attach" android:id="@+id/mnuAttach" android:icon="@drawable/ic_attach" app:showAsAction="ifRoom"/>

<item android:title="Settings" android:id="@+id/mnuSettings" app:showAsAction="never"/>

</menu>

在菜单资源中添加菜单项后,我必须将以下代码添加到MainActivity.java:

(菜单代码)

package com.example.mygcdapplication;

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

public class BaseActivity extends AppCompatActivity {

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.commonmenus,menu);
        return super.onCreateOptionsMenu(menu);
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        int id = item.getItemId();

        if(id==R.id.mnuShare)
        {
            Toast.makeText(this, "Share menu is Clicked", Toast.LENGTH_SHORT).show();

        }
        else if(id==R.id.mnuAttach)
        {
            Toast.makeText(this, "Attach menu is Clicked", Toast.LENGTH_SHORT).show();


        }
        else if(id==R.id.mnuSettings)
        {
            Toast.makeText(this, "Settings menu is Clicked", Toast.LENGTH_SHORT).show();

        }
        return super.onOptionsItemSelected(item);
    }
}

因此,每次我尝试将Menucode合并到MainActivity时,MainActivity中的实际代码都会受到干扰。

因此,请您能建议我如何在不干扰项目的情况下将MenuCode与MainActivity合并。 任何人都可以将Menucode合并到MainActivity并与我共享文件。

如果需要,可以提供项目中的任何其他代码。

任何帮助,将不胜感激。

评论