![](/img/trans.png)
[英]Options Menu in MaterialSearchBar with NoActionBar - not showing the icons of overflow menu items and no action by clicking on item?
[英]Application crashes on clicking the item in Options Menu
我正在开发一个名为“ MyBMI”的android应用程序。 我在选项菜单中创建了一个名为“关于MyBMI”的项目,单击该项目会将用户转到另一个名为“ AboutActivity”的活动。 但是,当我在选项菜单中单击“关于MyBMI”时,我的应用程序崩溃了。 请帮忙。
package com.mavenmaverick.mybmi;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText entermass = (EditText) findViewById(R.id.entermass);
final EditText enterheight = (EditText) findViewById(R.id.enterheight);
entermass.requestFocus();
Button BMI = (Button) findViewById(R.id.BMI);
BMI.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(TextUtils.isEmpty(entermass.getText().toString()) || TextUtils.isEmpty(enterheight.getText().toString()))
{
if(TextUtils.isEmpty(entermass.getText().toString()) || TextUtils.isEmpty(enterheight.getText().toString()))
{
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("Developer's Check");
builder.setMessage("Either Of The Text Fields Are Empty");
builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
}
else {
double d = 0;
double mass = Double.valueOf(entermass.getText().toString());
double height = Double.valueOf(enterheight.getText().toString());
double heightF;
heightF=height*0.3048;
double bmi = mass/(heightF*heightF);
d=bmi;
int display = (int) bmi;
Toast toast=Toast.makeText(getApplicationContext(), "Your BMI is " +display, Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();
if(d<15.0)
{
Toast.makeText(MainActivity.this,"You Are Very Severely Underweight", Toast.LENGTH_LONG).show();
}
else if(d>=15.0 && d<=16.0){
Toast.makeText(MainActivity.this,"You Are Severely Underweight", Toast.LENGTH_LONG).show();
}
else if(d>=15.0 && d<=16.0){
Toast.makeText(MainActivity.this,"You Are Severely Underweight", Toast.LENGTH_LONG).show();
}
else if(d>=16.0 && d<=18.5){
Toast.makeText(MainActivity.this,"You Are Severely Underweight", Toast.LENGTH_LONG).show();
}
else if(d>=18.5 && d<=25.0){
Toast.makeText(MainActivity.this,"You Are Normal (healthy weight)", Toast.LENGTH_LONG).show();
}
else if(d>=25.0 && d<=30.0){
Toast.makeText(MainActivity.this,"You Are Overweight", Toast.LENGTH_LONG).show();
}
else if(d>=30.0 && d<=35.0){
Toast.makeText(MainActivity.this,"You Are Obese Class I (Moderately obese)", Toast.LENGTH_LONG).show();
}
else if(d>=35.0 && d<=40.0){
Toast.makeText(MainActivity.this,"You Are Obese Class II (Severely obese)", Toast.LENGTH_LONG).show();
}
else if(d>40.0){
Toast.makeText(MainActivity.this,"You Are Obese Class III (Very severely obese)", Toast.LENGTH_LONG).show();
}
}
}
});
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
startActivity(new Intent(this, AboutActivity.class));
return true;
}
};
只是一个猜测,但您是否已将有关活动的信息添加到清单中?
好的,我认为您的位图空间已用完。 您需要开始回收您的位图! 将有一个名为.Recycle()的位图方法,您可以在更改活动之前执行该方法! 这有望解决您的问题!
或您正在加载的位图太大。。希望这会有所帮助!
stacktrace表示:您的活动具有一个RelativeLayout
,该背景的背景可绘制对象太大且会导致内存不足。 使图像更小以使其消耗更少的内存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.