- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作计算器,但在启动后,当我按下计算器的任何按钮(0、1、2 等)时。不幸的是我的计算器停止工作了。在 logcat 中出现错误..我缺少什么??
代码:
package com.example.calculator;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Calculator extends Activity implements OnClickListener {
String initialnum="0";
TextView textview;
char operator=' ';
int result;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator);
TextView textview= (TextView) findViewById(R.id.textView1);
textview.setText("0");
((Button) findViewById(R.id.button00)).setOnClickListener(this);
((Button) findViewById(R.id.button01)).setOnClickListener(this);
((Button) findViewById(R.id.button02)).setOnClickListener(this);
((Button) findViewById(R.id.button03)).setOnClickListener(this);
((Button) findViewById(R.id.button04)).setOnClickListener(this);
((Button) findViewById(R.id.button05)).setOnClickListener(this);
((Button) findViewById(R.id.button06)).setOnClickListener(this);
((Button) findViewById(R.id.button07)).setOnClickListener(this);
((Button) findViewById(R.id.button08)).setOnClickListener(this);
((Button) findViewById(R.id.button09)).setOnClickListener(this);
((Button) findViewById(R.id.buttonc)).setOnClickListener(this);
((Button) findViewById(R.id.buttondivide)).setOnClickListener(this);
((Button) findViewById(R.id.buttonequal)).setOnClickListener(this);
((Button) findViewById(R.id.buttonminus)).setOnClickListener(this);
((Button) findViewById(R.id.buttonmultiply)).setOnClickListener(this);
((Button) findViewById(R.id.buttonplus)).setOnClickListener(this);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button00:
case R.id.button01:
case R.id.button02:
case R.id.button03:
case R.id.button04:
case R.id.button05:
case R.id.button06:
case R.id.button07:
case R.id.button08:
case R.id.button09:
String digit= ((Button) v).getText().toString();
if (initialnum.equals("0")) {
initialnum= digit;
} else {
initialnum +=digit;
}
textview.setText(initialnum);
if (operator == '=') {
result= 0;
operator=' ';
} break;
case R.id.buttonc:
result=0;
operator=' ';
case R.id.buttondivide:
compute();
operator='/';
break;
case R.id.buttonminus:
compute();
operator='-';
break;
case R.id.buttonmultiply:
compute();
operator='*';
break;
case R.id.buttonplus:
compute();
operator='+';
break;
case R.id.buttonequal:
compute();
operator='=';
break;
}
}
private void compute() {
int number= Integer.parseInt(initialnum);
// TODO Auto-generated method stub
if (operator==' ') {
result= number;
} else if (operator=='+') {
result+= number;
}else if (operator=='-') {
result-= number;
}else if (operator=='*') {
result*= number;
} else if (operator=='/') {
result/= number;
}
textview.setText(result);
}
}
错误日志:
03-05 13:10:52.539: E/Trace(805): error opening trace file: No such file or directory (2)
03-05 13:10:53.359: I/Choreographer(805): Skipped 55 frames! The application may be doing too much work on its main thread.
03-05 13:10:53.399: D/gralloc_goldfish(805): Emulator without GPU emulation detected.
03-05 13:14:46.659: D/AndroidRuntime(805): Shutting down VM
03-05 13:14:46.669: W/dalvikvm(805): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
03-05 13:14:46.699: E/AndroidRuntime(805): FATAL EXCEPTION: main
03-05 13:14:46.699: E/AndroidRuntime(805): java.lang.NullPointerException
03-05 13:14:46.699: E/AndroidRuntime(805): at com.example.calculator.Calculator.onClick(Calculator.java:64)
03-05 13:14:46.699: E/AndroidRuntime(805): at android.view.View.performClick(View.java:4084)
03-05 13:14:46.699: E/AndroidRuntime(805): at android.view.View$PerformClick.run(View.java:16966)
03-05 13:14:46.699: E/AndroidRuntime(805): at android.os.Handler.handleCallback(Handler.java:615)
03-05 13:14:46.699: E/AndroidRuntime(805): at android.os.Handler.dispatchMessage(Handler.java:92)
03-05 13:14:46.699: E/AndroidRuntime(805): at android.os.Looper.loop(Looper.java:137)
03-05 13:14:46.699: E/AndroidRuntime(805): at android.app.ActivityThread.main(ActivityThread.java:4745)
03-05 13:14:46.699: E/AndroidRuntime(805): at java.lang.reflect.Method.invokeNative(Native Method)
03-05 13:14:46.699: E/AndroidRuntime(805): at java.lang.reflect.Method.invoke(Method.java:511)
03-05 13:14:46.699: E/AndroidRuntime(805): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
03-05 13:14:46.699: E/AndroidRuntime(805): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-05 13:14:46.699: E/AndroidRuntime(805): at dalvik.system.NativeStart.main(Native Method)
布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="10dp"
android:gravity="right|top"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#cccccc"
android:gravity="right"
android:paddingTop="10dp"
android:text="TextView"
android:textSize="25dp" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.50"
android:layout_marginTop="10dp" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button07"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="7" />
<Button
android:id="@+id/button08"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="8" />
<Button
android:id="@+id/button09"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="9" />
<Button
android:id="@+id/buttondivide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="/" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="4" />
<Button
android:id="@+id/button05"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="5" />
<Button
android:id="@+id/button06"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="6" />
<Button
android:id="@+id/buttonmultiply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1" />
<Button
android:id="@+id/button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="2" />
<Button
android:id="@+id/button03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="3" />
<Button
android:id="@+id/buttonminus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-" />
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button00"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0" />
<Button
android:id="@+id/buttonc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="c" />
<Button
android:id="@+id/buttonequal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="=" />
<Button
android:id="@+id/buttonplus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+" />
</TableRow>
</TableLayout>
最佳答案
你在 onClick 方法中有 nullPointerException,因为 textview 没有初始化。
在 onCreate 中更改此行
TextView textview= (TextView) findViewById(R.id.textView1);
为此:
textview= (TextView) findViewById(R.id.textView1);
关于android - 计算器 : error No such file or directory, 跳帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22191760/
我正在尝试使用 nx 在图中找到一些特定节点(比方说 l 节点)的 1 跳、2 跳,如果需要,k 跳邻居。 single_source_dijkstra_path_length. 每个步骤的时间复杂度
假设在下一段中我的光标位于第一句中的第一个are上(希望我可以突出显示它,但我不能这样...... )。按两次 ff 后,第一句话就会傻瓜,然后of 。再按下去我将一事无成。 Some people
给定一个无向图,一个起始顶点和一个结束顶点。求出从源到汇的步行次数(这样一个顶点可以被多次访问)正好涉及 h 跳。例如,如果图形是三角形,则具有 h 跳的此类路径的数量由第 h 个 Jakobstah
我正在制作 Winston Wolf 的交互式 map 。我有一张世界地图,每个大陆都可以点击并显示该大陆的国家。当我点击非洲大陆时,页面会跳转到非洲国家(如您所料)。我的问题是,我可以阻止它跳跃吗?
这是我的第一个问题,所以如果我问错了,我很抱歉。 在我的实验中,多个 android 设备使用 WiFi Direct 连接。为了利用无线 tx 的广播特性,所有设备都加入一个多播组来交换它们的信息。
我最近开发了一个 WCF Facade 服务。我是 WCF 的新手,无法理解安全实现部分。 服务如下: 一个 asp.net 公共(public)网站有一个 WCF 客户端,它访问: DMZ 中的 W
序言: 当问楼梯问题时,通常给定的允许步幅数组是 [1,2,3] 在 SO 上看到很多相同问题的例子,比如 n-steps-with-1-2-or-3-steps-taken-how-many-way
我是一名优秀的程序员,十分优秀!