当前位置: 首页 > 知识库问答 >
问题:

最大工作台压力计算器项目不工作

干亮
2023-03-14

我希望文本视图每按一次按钮增加2.5,但应用程序一直崩溃。我试着使用数字选择器,但我不喜欢它的垂直方向。我决定做我自己的,后来我添加了长按功能,但现在我正在试验按钮。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;



public class MainActivity extends AppCompatActivity implements OnClickListener {

private Button Calculate;
private Button plus;
private Button menus;
private OnClickListener buttonclick;
private TextView textView;
int startweight;
double weight;


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

    menus = (Button) findViewById(R.id.button3);
    plus = (Button) findViewById(R.id.button2);
    Calculate = (Button) findViewById(R.id.button);

    menus.setOnClickListener(this);
    plus.setOnClickListener(this);
    Calculate.setOnClickListener(this);

    int startweight = 100;

    textView.setText("" + startweight );


}

public void onClick(View v) {
    switch (v.getId()) {
        case R.id.button2:
        if (weight != 100) {
            weight = weight +2.5;
        }
        else{
            weight = startweight - 2.5;
        }
        textView.setText("" + weight);
        break;
    case R.id.button3:
        if (weight != 100) {
            weight = weight - 2.5;
        }
        else{
            weight = startweight -2.5;
        }
        textView.setText("" + weight);
        break;
    case R.id.button:

        break;
}

}
}

这是logcat中的堆栈:

致命异常:主进程:com。实例卢克。maxbenchcalculator,PID:2281 java。lang.RuntimeException:无法启动活动组件信息{com.example.luke.maxbenchcalculator/com.example.luke.maxbenchcalculator.MainActivity}:java。lang.NullPointerException:尝试调用虚拟方法“void”。小装置。文本视图。android上的空对象引用上的setText(java.lang.CharSequence)”。应用程序。活动线程。在android上执行启动活动(ActivityThread.java:2416)。应用程序。活动线程。android上的handleLaunchActivity(ActivityThread.java:2476)。应用程序。活动线程-android上的wrap11(ActivityThread.java)。应用程序。android上的ActivityThread$H.handleMessage(ActivityThread.java:1344)。操作系统。处理程序。android上的dispatchMessage(Handler.java:102)。操作系统。活套。android上的loop(Looper.java:148)。应用程序。活动线程。java上的main(ActivityThread.java:5417)。朗。反思。方法在com上调用(本机方法)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(ZygoteInit.java:726)。Android内部的操作系统。合子体。main(ZygoteInit.java:616)由以下原因引起:java。lang.NullPointerException:尝试调用虚拟方法“void”。小装置。文本视图。com上的空对象引用上的setText(java.lang.CharSequence)”。实例卢克。maxbenchcalculator。主要活动。android上的onCreate(MainActivity.java:39)。应用程序。活动在android上执行创建(Activity.java:6237)。应用程序。仪器仪表。android上的callActivityOnCreate(Instrumentation.java:1107)。应用程序。活动线程。android上的performLaunchActivity(ActivityThread.java:2369)。应用程序。活动线程。handleLaunchActivity(ActivityThread.java:2476)

共有1个答案

潘佐
2023-03-14

您从未给text View成员赋值,因此它保持为空。然后,您尝试在onCreative期间调用一个方法,这会导致崩溃。为其分配一个值,并确保在对其调用方法之前它不是null。

 类似资料:
  • 问题内容: 我需要一种在PHP中添加“工作日”的方法。例如,星期五12/5 + 3个工作日=星期三12/10。 至少我需要使用代码来理解周末,但理想情况下,它也应考虑美国联邦假日。我敢肯定,如有必要,我可以提出一种蛮力的解决方案,但我希望那里有一种更优雅的方法。任何人? 谢谢。 问题答案: 这是PHP手册中date()函数页面上用户注释的函数。它是对注释中早期功能的改进,增加了对leap年的支持。

  • 我对drools环境真的很陌生,试着去理解它。 我做了第一个java项目,它基本解析drl规则文件,将它们应用到java对象,并根据对象属性和规则输出结果。如果我错了就阻止我,但我认为这是口水的超基础。 ->我认为工作台可以允许我动态地将xls编译为DRL是对的吗? ->我是否遗漏了工作台的一点?

  • 问题内容: 我需要根据订单的要求交货日期来安排Postgres查询中的某些项目。因此,例如,该订单在星期一(例如20120319)有一个请求的交货,并且该订单需要在前一个工作日(20120316)进行准备。 关于最直接方法的想法?我愿意添加日期表。我认为有比使用大量case语句更好的方法:SELECT EXTRACT(DOW FROM TIMESTAMP‘2001-02-16 20:38:40’)

  • 我正试图建立一个基本的计算器,但我的代码不加起来。我的计算器应该做的是对输入num1和NUM2中插入的两个数进行加、减、除或乘。然后将答案打印在空的div中,并将答案作为ID。 null null

  • 这段代码工作正常(并与我们更大的应用程序联系在一起),并为我们的应用程序打开了配置屏幕。 以下是等待空闲方法: 在Windows10机器上,clickOnTable()方法失败,因为方法实际上没有单击选项卡,因此屏幕上没有显示我们要查找的表。 null 更新1 在失败的笔记本电脑和工作的Windows10机器上尝试了不同版本的Java。两者都没有区别。 出现故障的笔记本电脑运行的是Windows

  • 我想在一个项目中使用Lombok来使用@getter和@setter。 我包括使用Maven: NetBeans可以导入: null