首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android的乘法操作解决办法

2012-03-18 
android的乘法操作不知道什么原因不能正常运行(点击button后出现异常)无提示错误有什么好的调试办法吗?pac

android的乘法操作
不知道什么原因不能正常运行(点击button后出现异常)无提示错误有什么好的调试办法吗?

package mars.activity;

import android.app.Activity;
import android.app.SearchManager.OnCancelListener;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
//1.在Activity02中,要声明4个控件
//2.要为其中的两个控件设置显示的值
//3.创建一个监听器类,监听按钮按下的动作
//4.将监听类的对象,绑定在按钮对象上
public class Activity02 extends Activity {
  /** Called when the activity is first created. */
private EditText factorOne;
private TextView symbol;
private Button calculate;
private EditText factorTwo;
  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  //根据控件的id来取得代表控件的对象
  factorOne=(EditText)findViewById(R.id.factorOne);
  factorTwo = (EditText)findViewById(R.id.factorTwo);
  symbol=(TextView)findViewById(R.id.symbol);
  calculate=(Button)findViewById(R.id.calculate);
  //为symbol和calculate设置显示的值
  // symbol.setText("乘以");
  //calculate.setText("计算");
  symbol.setText(R.string.symbol);
  calculate.setText(R.string.calculate);
  //将监听器绑定到按钮对象上面
  calculate.setOnClickListener(new CalculateListener());
  }
  class CalculateListener implements OnClickListener{

public void onClick(View v) {
// TODO Auto-generated method stub
//取得两个EditText控件的值
//将这两个对象存放在Intent对像当中
//使用Intent启动ResultActivity
String factorOneStr=factorOne.getText().toString();
String factorTwoStr=factorTwo.getText().toString();
Intent intent=new Intent();
intent.putExtra("one", factorOneStr);
intent.putExtra("two", factorTwoStr);
intent.setClass(Activity02.this, ResultActivity.class);
Activity02.this.startActivity(intent);
}
 
  }
}
package mars.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class ResultActivity extends Activity02{
private TextView resultView;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
resultView=(TextView)findViewById(R.id.result);
Intent intent=getIntent();
String factorOneStr=intent.getStringExtra("one");
String factorTwoStr=intent.getStringExtra("two");
int factorOneInt=Integer.parseInt(factorOneStr);
int factorTwoInt=Integer.parseInt(factorTwoStr);
int result=factorOneInt*factorTwoInt;
resultView.setText(result + "");
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <EditText
  android:id="@+id/factorOne"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  />
  <TextView  
  android:id="@+id/symbol"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:text="@string/hello"


  />
  <EditText
  android:id="@+id/factorTwo"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  />
  <Button
  android:id="@+id/calculate"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  />
</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <TextView
  android:id="@+id/result"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  />
</LinearLayout>


[解决办法]
单点调测或者看logcat日志,一般logcat里面会显示错误原因
[解决办法]
ResultActivity extends Activity02 你继承了Activity02,并且在onCreate里面调用了super.onCreate,调用了Activity02的onCreate方法,导致出错。改成 extends Activity就好了。

热点排行