TextView ,EditText,Button ,Menu四个常用控件 的使用方法

在这里我们通过一个例子来演示这四个控件的使用方法

//我们要做一个两个文本框,一个Button,点击Button后跳转到另外一个Activity中,显示这两个数的计算结果

点击按钮后跳转到另外一个activity中,并显示计算的结果
首先我们先建立两个activity
MainActivity和ResultActivity
并建立两个页面控制文件activity_main.xml和activity_result.xml
activity_main.xml中的代码如下:
 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context=".MainActivity" >
10     <EditText 
11         android:id="@+id/etnum1"
12         android:layout_width="fill_parent"
13         android:layout_height="wrap_content"
14         android:inputType="number"
15         />
16 
17     <TextView
18         android:id="@+id/tvsmbole"
19         android:layout_width="wrap_content"
20         android:layout_height="wrap_content"
21         android:layout_alignLeft="@+id/etnum1"
22         android:layout_below="@+id/etnum1"
23         android:text="@string/fuhao" />
24 
25     <EditText
26         android:id="@+id/etnum2"
27         android:layout_width="fill_parent"
28         android:layout_height="wrap_content"
29         android:layout_alignLeft="@+id/tvsmbole"
30         android:layout_below="@+id/tvsmbole"
31         android:layout_marginTop="18dp"
32         android:ems="10" 
33         android:inputType="number">
34 
35         <requestFocus />
36     </EditText>
37 
38     <Button
39         android:id="@+id/btngo"
40         android:layout_width="fill_parent"
41         android:layout_height="wrap_content"
42         android:layout_alignLeft="@+id/etnum2"
43         android:layout_below="@+id/etnum2"
44         android:layout_marginTop="21dp"
45         android:text="@string/btntext" />
46 
47 </RelativeLayout>
View Code

activity_result.xml文件的代码如下:

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context=".ResultActivity" >
10 
11     <TextView
12         android:id="@+id/tvresult1"
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:text="@string/tvresult" />
16 
17 </RelativeLayout>
View Code
让他们相互关联起来。
1.接下来我们首先在activity_main.xml中画出来界面两个EditText,一个TextView和一个Button
2.在这里我们显示控件上的text的时候是在values文件夹下面的strings.xml文件中定义好,然后直接引用的
strings.xml文件的内容如下:
1 <?xml version="1.0" encoding="utf-8"?>
2 <resources>
3 
4     <string name="app_name">Activity03</string>
5     <string name="action_settings">Settings</string>
6     <string name="fuhao">+</string>
7     <string name="btntext">go to other activity</string>
8     <string name="tvresult">jieguo Activity</string>
9 </resources>
View Code

3.界面画好以后可以看activity中的内容了

   3.1首先在MainActivirty中

  使用setContentView(R.layout.activity_main);将MainActivity与acitivity_main.xml关联起来

  3.2声明控件

private Button btngo;
private EditText num1;
private EditText num2;
//private TextView symbole;

  3.3取得界面上控件 

btngo=(Button)findViewById(R.id.btngo);

num1=(EditText)findViewById(R.id.etnum1);

num2=(EditText)findViewById(R.id.etnum2);

  3.4在取得控件后,我们要将两个editText中的值取出来,然后通过点击button将两个值传到ResultActivity 中。

  取得值得方法是

String strnum1=num1.getText().toString();
String strnum2=num2.getText().toString();

  使用Intent 对象将两个值传递过去

  最后将button的监听事件给关联起来就可以了  

  详细代码见下:

  MainAcitvity.java中的代码:

 1 package com.yinyakun.activity03;
 2 import android.os.Bundle;
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.view.Menu;
 6 import android.view.View;
 7 import android.view.View.OnClickListener;
 8 import android.widget.Button;
 9 import android.widget.EditText;
10 //import android.widget.TextView;
11 
12 public class MainActivity extends Activity {
13 
14     private Button btngo;
15     private EditText num1;
16     private EditText num2;
17     //private TextView symbole;
18     @Override
19     protected void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.activity_main);
22         btngo=(Button)findViewById(R.id.btngo);
23         num1=(EditText)findViewById(R.id.etnum1);
24         num2=(EditText)findViewById(R.id.etnum2);
25         btngo.setOnClickListener(new btnclickListener());
26     }
27 
28     @Override
29     public boolean onCreateOptionsMenu(Menu menu) {
30         // Inflate the menu; this adds items to the action bar if it is present.
31         getMenuInflater().inflate(R.menu.main, menu);
32         return true;
33     }
34     class btnclickListener implements OnClickListener{
35 
36         @Override
37         public void onClick(View arg0) {
38             // TODO Auto-generated method stub
39             Intent intent =new Intent();
40             String strnum1=num1.getText().toString();
41             String strnum2=num2.getText().toString();
42             intent.putExtra("strnum1",strnum1);
43             intent.putExtra("strnum2",strnum2);
44             intent.setClass(MainActivity.this,ResultActivity.class);
45             MainActivity.this.startActivity(intent);
46             
47         }
48         
49         
50     }
51 
52 }
View Code

 

4.在ReusultActivity中取得传过来的值,将他们转换成int类型,然后加起来,最后转化成string类型将他们显示就可以了
ResultActivity的详细代码如下:
 1 package com.yinyakun.activity03;
 2 
 3 import android.os.Bundle;
 4 import android.widget.TextView;
 5 import android.app.Activity;
 6 import android.content.Intent;
 7 
 8 
 9 public class ResultActivity extends Activity {
10 
11     private TextView tvresult;
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_result);
16         Intent intent=getIntent();
17         String num1=intent.getStringExtra("strnum1");
18         String num2=intent.getStringExtra("strnum2");
19         int result=0;
20         int inum1=Integer.parseInt(num1);
21         int inum2=Integer.parseInt(num2);
22         result=inum1+inum2;
23         tvresult=(TextView)findViewById(R.id.tvresult1);
24         tvresult.setText(result+"");
25         
26     }
27 
28     
29 
30 }
View Code

以上为本实例中的代码

注意在写Button的监听事件的时候

class btnclickListener implements OnClickListener{

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            Intent intent =new Intent();
            String strnum1=num1.getText().toString();
            String strnum2=num2.getText().toString();
            intent.putExtra("strnum1",strnum1);
            intent.putExtra("strnum2",strnum2);
            intent.setClass(MainActivity.this,ResultActivity.class);
            MainActivity.this.startActivity(intent);
            
        }
View Code

然后将该监听事件通过btngo.setOnClickListener(new btnclickListener());

将该事件给该button的click事件关联起来。

在最后一定不要忘记我们在新建第二个Activity的时候要在Androidmanifest.xml文件中对第二个Acitivity进行注册

代码如下

1     <activity
2             android:name="com.yinyakun.activity03.ResultActivity"
3             android:label="result"
4             ></activity>
View Code

最后就可以运行了!

如果想在两个文本框中只能输入数字的话可以在activity_main.xml中的<EditText/>中声明一下声明语句为:android:inputtype="number"

就可以了!!

menu 菜单的使用(menu菜单的使用和上面的几个控件的使用有点不同,他只需要重写方法就行了,不用再添加什么东东)

我们直接重写一个方法://方法的作用是当用户点击munu按钮的时候调用的方法,

onCreateOptionsMenu(Menu menu)

{

}

在这里面我们只要添加按钮的选项通过语句:

munu.add(0,1,1,R.stings.about);

在这个方法中0表示的是菜单所属组的id,第二个参数是当前的菜单的id,第三个参数是排序,第四个参数是显示的内容

 然后再重写方法//该方法的作用是当客户点击当中的某一个选项的时候,调用的方法,把点击的菜单选项id传过来
public boolean onOptionsItemSelected(MenuItem item)
{
 
}
 添加的代码如下:
 1 @Override
 2     public boolean onCreateOptionsMenu(Menu menu) {
 3         // Inflate the menu; this adds items to the action bar if it is present.
 4         menu.add(0,1,1,R.string.exit);
 5         menu.add(0,2,2,R.string.about);
 6         getMenuInflater().inflate(R.menu.main, menu);
 7         return true;
 8     }
 9     
10     @Override
11     public boolean onOptionsItemSelected(MenuItem item) {
12         // TODO Auto-generated method stub
13         if (item.getItemId()==1)
14         {
15             finish();
16             
17         }
18         return super.onOptionsItemSelected(item);
19     }
View Code
原文地址:https://www.cnblogs.com/yinyakun/p/3161898.html