我正在尝试制作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并与我共享文件。
如果需要,可以提供项目中的任何其他代码。
任何帮助,将不胜感激。