Activity(三)

常用控件

EditView、TextView、Button

设置layout,在fragment_main.xml配置控件

配置可编辑文本控件factorOne、factorTwo,显示文本控件symbol,按钮控件calculate

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.activity01.MainActivity$PlaceholderFragment" >

    <EditText
        android:id="@+id/factorOne"
        android:layout_width="fill_parent"
         android:layout_height="wrap_content"/>
      <EditText
        android:id="@+id/factorTwo"
        android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_below="@+id/sym"/>
    <TextView
        android:id="@+id/sym"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/factorOne" />
    <Button
        android:id="@+id/cal"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
          android:layout_below="@+id/factorTwo"
        />
</RelativeLayout>

在values下string.xml设置symbol、calculate字符串

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Activity01</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="sym">乘以</string>
    <string name="cal">计算</string>
</resources>

根据控件id取对象,为symbol和calculate设置显示的值

        private EditText factorOne=null;
    private EditText factorTwo=null;
    private TextView sym=null;
    private Button cal=null;
  @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        factorOne=(EditText)findViewById(R.id.factorOne);
        factorTwo=(EditText)findViewById(R.id.factorTwo);
        sym=(TextView)findViewById(R.id.sym);
        cal=(Button)findViewById(R.id.cal);
        sym.setText(R.string.sym);
        cal.setText(R.string.cal);
        cal.setOnClickListener(new CalListener());//监听器绑定到按钮上
        return true;
    }  

监听器

class CalListener implements OnClickListener{

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String factorOneStr=factorOne.getText().toString();
            String factorTwoStr=factorTwo.getText().toString();
            Intent intent=new Intent();
            intent.putExtra("one", factorOneStr);
            intent.putExtra("two", factorTwoStr);
            intent.setClass(MainActivity.this, ResultActivity.class);
            MainActivity.this.startActivity(intent);
        }
    }

新建result.xml文件

     <TextView
        android:id="@+id/result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
       />

新建ResultActivity,获取计算结果

public class ResultActivity extends Activity{
    private TextView resultView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.result);
        resultView=(TextView)findViewById(R.id.result);
        Intent intent=new Intent();
        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+"");
    }
}

注册ResultActivity

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.activity01"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.activity01.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.example.activity01.ResultActivity"
            android:label="@string/app_name" >
        </activity>
    </application>

</manifest>

设置menu菜单

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        menu.add(0, 1, 1, R.string.exit);
        menu.add(0, 2, 3, R.string.about);
        return super.onCreateOptionsMenu(menu);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        if(item.getItemId()==1){
            finish();
        }
        return super.onOptionsItemSelected(item);
    }

Copyright © 吴华锦
雅致寓于高阁渔舟唱晚,古典悠然
格调外发园林绿树萦绕,馥郁清香

  

时间: 2024-10-14 04:19:50

Activity(三)的相关文章

Service Activity三种交互方式

Service Activity三种交互方式 2012-09-09 22:52 4013人阅读 评论(2) 收藏 举报 serviceandroidimportclassthreadjava service有两种类型:       本地服务(Local Service):用于应用程序内部        远程服务(Remote Sercie):用于android系统内部的应用程序之间 前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线

android Service Activity三种交互方式(付源码)(转)

android Service Activity三种交互方式(付源码) Android应用服务器OSBeanthread android Service Binder交互通信实例 最下边有源代码: android SDK提供了Service,用于类似*nix守护进程或者windows的服务. Service有两种类型: 本地服务(Local Service):用于应用程序内部 远程服务(Remote Sercie):用于android系统内部的应用程序之间 前者用于实现应用程序自己的一些耗时任务

四大组件--Activity(三)

7.Activity的任务栈(★★★★)1.任务栈是用来提升用户体验而设计的:(1)程序打开时就创建了一个任务栈, 用于存储当前程序的activity,所有的 activity 属于一个任务栈.(2)一个任务栈包含了一个 activity 的集合, 去有序的选择哪一个activity 和用户进行交互:只有在任务栈栈顶的activity才可以跟用户进行交互.(3)任务栈可以移动到后台, 并且保留了每一个activity的状态. 并且有序的给用户列出它们的任务, 而且还不丢失它们状态信息.(4)退出

Android 四大组件学习之Activity三

上一节学习了通过Intent去启动另外一个Activity. 本节学习通过Intent传值. 还是依旧创建两个Activity,我依旧是用之前的MainActivity和SecondActivity 先看MainActivity的布局文件,SecondActivity的布局文件就不列出,和上节课一样: <TextView android:id="@+id/textView1" android:layout_width="wrap_content" androi

activity启动模式之singleTop

activity启动模式之singleTop 一.简介 二.设置方法 在AndroidManifest.xml中将要设置为singleTop启动模式的页面进行配置 <activity android:name="activityLaunchSingleTop.ActivityB2" android:launchMode="singleTop"></activity> 三.代码实例 效果图: 代码: activityLaunchSingleTo

Android四大组件--Activity详解

Android四大组件--Activity详解 分类: android android应用android开发 本文的主要内容包括1.activity的建立.配置和使用:2.activity的跳转和传值:3.startActivityForResult:4.activity的生命周期. 1.activity的建立.配置和使用 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况

Activity和任务Task

在这之前,你要知道Task就是一个堆栈,栈顶的activity就是当前显示的activity, 启动一个新的activity的时,一般直接压入堆栈,并成为当前运行的activity,前一个activity仍然在堆栈中,按下back键时,当前activity出栈,而前一个恢复为当前运行的activity,他们都在同一个Task中.有这种情况:一个activity在 应用ONE,另一个activity 在应用TWO,ONE的activity启动TWO的activity时,用户看好像在同一应用程序中一

Android——处理设备旋转Activity销毁时临时数据丢失的问题

一,在设备的旋转的时候,发生了什么? 设备旋转时候,当前的activity实例会被系统销毁,然后创建一个新的Activity实例. 接下来我们通过检测Activity的生命周期来观察下: 上面是我启动activity时依次发生的事件,接下来我旋转设备: 可以看到,旋转的时候,第一个activity被destroy掉,之后新的activity被创建. 二,理解设备配置与备选资源 旋转设备会改变设备配置.设备配置是用来描述设备当前状态的一系列特征.这些特征包括:屏幕的方向,屏幕的尺寸,屏幕密度(是一

Android四大组件——Activity

Activity作为Android四大组件之一,也是其中最重要的一个组件.作为一个与用户交互的组件,我们可以把Activity比较成为windows系统上的一个文件夹窗口,是一个与用户交互的界面.再进一步说,当我们拿起Android打开拨号功能,显示出拨号盘的界面其实就是一个Activity:当然,可以更大范围的说,手机屏幕上显示的任何界面都是一个个Activity. 官方对Activity的描述 Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作,

Activity概述

一.Activity的创建 1.定义Activity *  定义类继承Activity *  在AndroidManifest.xml的<application>节点中申明<activity> 2.Activity的创建方式一:显式意图 显式意图有三种打开方式: *  构造函数,代码少: new Intent(context,NewActivity.class); *  类名形式,灵活,可扩展性强: intent.setClassName(context,"cn.itca