zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    iOS 静态、全局变量、常量
    原子性atomic/nonatomic
    iOS数组遍历
    iOS开发过程中易犯的小错误
    mac开启Airdrop的硬件要求
    Activity Monitor 闪退 & 无法进入睡眠
    在Linux中连接android设备
    网格布局(GridLayout) 行数与列数
    $符号报not defing 报错
    eclipse鼠标变成十字符号
  • 原文地址:https://www.cnblogs.com/yinyakun/p/3161898.html
Copyright © 2011-2022 走看看