fuda9527 2017-07-19 07:36 采纳率: 100%
浏览 2699
已采纳

编译能通过,为什么在手机上运行会直接闪退呢

package com.example.mylove;

import android.app.Dialog;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

private int num ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button go = (Button) super.findViewById(R.id.go);
    EditText et = (EditText) super.findViewById(R.id.et);
    this.num = Integer.parseInt(et.getText().toString());
    go.setOnClickListener(new OnClickListener1());}
    private class  OnClickListener1 implements View.OnClickListener {
    @Override
    public void onClick(View view){


        if(forgive(num)==1){
            Dialog dialog= new AlertDialog.Builder(MainActivity.this)
                    .setTitle("you win yourself")
                    .setMessage("我还能说什么呢?当然是选择原谅她!")
                    .setIcon(R.drawable.forgive)
                    .create();
            dialog.show();}
        else{
           Dialog dialog2 = new AlertDialog.Builder(MainActivity.this)
                    .setTitle("you lose her").setMessage("天涯何处无芳草,请大侠重新来过!")
                    .setIcon(R.drawable.saybyebye)
                    .create();
            dialog2.show();}
    }





}

```<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.mylove.MainActivity"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ff00ff00"
    >
    <TextView
        android:gravity="center"
        android:textSize="25sp"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/word1"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
    <TextView

        android:text="@string/word2"
        android:textSize="15sp"
        android:gravity="center"
        android:layout_above="@+id/et"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"/>
    <EditText
        android:id="@+id/et"
        android:gravity="center"
        android:hint="@string/forgive"
        android:inputType="number"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/go"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:id="@+id/go"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_centerInParent="true"
        android:hint="@string/go" />
</RelativeLayout>



  • 写回答

2条回答 默认 最新

  • liuAsang 2017-07-20 03:37
    关注

    图片说明

    你在onCreate方法中声明了et控件后就调用了获取数据的方法,这个时候EditTExt控件内还没有内容,图片说明

    hint 属性只是提示作用,通过et.getText(0.toString()方法获取不到
    可以在布局文件中给et一个text默认值或者this.num = Integer.parseInt(et.getText().toString());这句代码放到点击事件内,先对et控件内数据进行非空判断
    比如:
    if(!TextUtils.isEmpty(et.getText(0.toString().trin())){//如果控件内数据不为空
    this.num = Integer.parseInt(et.getText().toString());
    if(forgive(num)==1){
    Dialog dialog= new AlertDialog.Builder(MainActivity.this)
    .setTitle("you win yourself")
    .setMessage("我还能说什么呢?当然是选择原谅她!")
    .setIcon(R.drawable.forgive)
    .create();
    dialog.show();}
    else{
    Dialog dialog2 = new AlertDialog.Builder(MainActivity.this)
    .setTitle("you lose her").setMessage("天涯何处无芳草,请大侠重新来过!")
    .setIcon(R.drawable.saybyebye)
    .create();
    dialog2.show();}
    }

    就不会报错了,可以看代码的错误日志,会明确指出问题在哪里

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题