常用控件的使用方法--(TextView/EditText/Button/Menu) -计算器代码

来源:互联网 发布:免费程序化交易软件 编辑:程序博客网 时间:2024/05/01 00:12

程序代码:(红色代码为手动添加
1.Activity03/res/layout/main.xml:
      <?xml version="1.0" encoding="utf-8"/>
      <LinearLayout xmls: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="warp_content"
      />
       <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="warp_content"
/>

</LinearLayout>


2.Activity03.java:
           package.mars.activity03;
           import android.app.Activity;
           import android.widget.Button;
           import android.widget.EditText;

           import android.widget.TextView;


        public class Activity03 extends Activity{
 
        private EditText factorOne;
        private EditText factorTwo;
        private TextView symbol;
        private Button calculate;

       @override
 
         public void onCreate(Bundle savedInstanceState){
 
          super.onCreate(savedInstanceState);
          setContentView(R.Layout.main);
          //根据控件的ID来取得代表控件的对象
         factorOne = (EditText)findViewById(R.id.factorOne);
         facrorTwo = (EditText)findViewById(R.id.factorTwo);
         symbol = (TextView)findViewById(R.id.symbol);
         calculate = (Button)findViewById(R.id.calculate);

         //为symbol和calculate设置显示的值
         symbol.setText("乘以");
         calculate.setText("计算");
         smybol.setText(R.string.symbol);
         calculate.setText(R.string.calculate);

         //将监听器的对象绑定到按钮对象上面
          calculate.setOnClickListener(new calculateListener());
   }
           class calculateListener implements OnClickListener{
              @override
                     public boolean onCreateOptionsMenu(menu,menu){
                                     menu.add(0,1,1,R.string.exit);
                                     menu.add(0,2,2,R.string.about);
                                     return super.onCreatOptionsMenu(menu);

    }
              @override
                     public boolean onOptionItemSelected(MenuItem,item){
                                     if(item.getItemId()==1){
                                        finish();
           }

     }
     public void OnClick(View v){
    //取得两个EditText控件的值
     String factorOneStr = factorOne.getText().tostring();
     String factorTwoStr = factorTwo.getText().tostring();
    //将这两个值存放到Intent对象当中
    Intent intent = new Intent();
    Intent.putExtra("one","factorOneStr");
    Intent.putExtra("two","factorTwoStr");
    Intent.setClass(Activity03.this,ResultActivity.class);
    //使用这个Intent对象来启动ResultActicity
    Activity03.this.startActivity(Intent);
      
}
     }
}  
3.string.xml:
              <string name="symbol">乘以</string>
              <string name="calculate">计算</string>
              <string name="exit">退出</string>
              <string name="about">关于</string>

4.ResultActivity.java:


                     package mars.activity03;
                      import android.app.Activity;
                      import android.os.Bundle;
                      import android.content.Intent;
                      import android.widget.TextView;

                   public class OtherActivity extends Activity{
   //接受从Activity当中所传递的值
   //计算两个值的积
   //将计算的结果显示在Activity上

    private TextView resltView;
     @override
     public void onCreate(Bundle savedInstanceState){
 
          super.onCreate(savedInstanceState);
          setContentView(R.Layout.main);
          resultView = (TextView)findViewById(R.id.result);
          //得到Intent对象当中的值
          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*"");

  }
   
 
5.Result.xml:
 <?xml version="1.0" encoding="utf-8"/>
      <LinearLayout xmls: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/symbol"
          android:layout_width="fill_parent"
          android:layout_height="warp_content"
      />

     </LinearLayout> 

今天的任务就是做这个程序,虽说是个小程序但对我这个菜鸟来讲,已经是个挺难的程序了! 到目前为止,这整个代码我还没有全部弄懂。当然中间写的同时肯定也出现了很多问题,还好及时找到了问题的根本。