博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
调用另一个Activity
阅读量:6263 次
发布时间:2019-06-22

本文共 3628 字,大约阅读时间需要 12 分钟。

hot3.png

1、创建主Activity

使用Eclipse新建项目MyFirstApp,UI布局如下:

[html] 

  1. <LinearLayout 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.     android:orientation="horizontal"  

  10.     tools:context=".MainActivity">  

  11.    

  12.     <EditText  

  13.         android:id="@+id/et_message"  

  14.         android:layout_height="wrap_content"  

  15.        android:layout_width="0dp"  

  16.         android:layout_weight="1"  

  17.         android:hint="@string/input_here"/>  

  18.      

  19.     <Button  

  20.         android:layout_width="wrap_content"  

  21.         android:layout_height="wrap_content"  

  22.         android:text="@string/click"  

  23.         android:onClick="sendMessage"/>  

  24.    

  25. </LinearLayout>  

注意通过权重来分配尺寸的方式

组件1:

[html] 

  1. android:layout_width="0dp"  

  2. android:layout_weight="1"  

组件2:

[html] 

  1. android:layout_width="wrap_content"  

2、在主类中指定onclick所对应的sendMessage方法

[java] 

  1. package com.lujinhong.androidtraningmyfirstapp;  

  2.    

  3. import android.os.Bundle;  

  4. import android.app.Activity;  

  5. import android.content.Intent;  

  6. import android.view.Menu;  

  7. import android.view.View;  

  8. import android.widget.EditText;  

  9.    

  10. public class MainActivity extends Activity{  

  11.      

  12.      public final static String EXTRA_MESSAGE="com.lujinhong.myfirstapp.MESSAGE";  

  13.    

  14.     @Override  

  15.     protected void onCreate(Bundle savedInstanceState){  

  16.         super.onCreate(savedInstanceState);  

  17.         setContentView(R.layout.activity_main);  

  18.     }  

  19.    

  20.     @Override  

  21.     public boolean onCreateOptionsMenu(Menu menu){  

  22.         // Inflate themenu; this adds items to the action bar if it is present.  

  23.         getMenuInflater().inflate(R.menu.main, menu);  

  24.         return true;  

  25.     }  

  26.      

  27.     public void sendMessage(View v){  

  28.                      

  29.         EditText et_message=(EditText)this.findViewById(R.id.et_message);  

  30.         String message= et_message.getText().toString().trim();  

  31.          

  32.         Intent intent= new Intent(this,DisplayMessageActivity.class);  

  33.         intent.putExtra(EXTRA_MESSAGE, message);  

  34.          

  35.         this.startActivity(intent);  

  36.          

  37.     }  

  38.    

  39. }  

(1)关于intent

An  isan object that provides runtime binding between separate components (such astwo activities). The representsan app’s "intent to do something." You can use intents for a widevariety of tasks, but most often they’re used to startanother activity.

(2)调用另一个activity的步骤:

l  首先取得editText中的文字

[java] 

  1. EditText et_message = (EditText) this.findViewById(R.id.et_message);  

  2. String message = et_message.getText().toString().trim();  

l  然后创建一下intent,并把文字作为K-V形式保存到intent中

[java] 

  1. Intent intent= new Intent(this,DisplayMessageActivity.class);  

  2. intent.putExtra(EXTRA_MESSAGE, message);  

创建intent时,通过一个类名,指定调用哪个类文件。

l  最后启动一个新的activity.

[java] 

  1. this.startActivity(intent);  

3、显示另一个Activity

[java] 

  1. package com.lujinhong.androidtraningmyfirstapp;  

  2.    

  3. import android.os.Bundle;  

  4. import android.app.Activity;  

  5. import android.content.Intent;  

  6. import android.view.Menu;  

  7. import android.widget.TextView;  

  8.    

  9. public class DisplayMessageActivityextends Activity{  

  10.    

  11.     @Override  

  12.     protected void onCreate(Bundle savedInstanceState){  

  13.         super.onCreate(savedInstanceState);  

  14.         setContentView(R.layout.activity_display_message);  

  15.          

  16.         // Get the messagefrom the intent  

  17.         Intent intent= getIntent();  

  18.         String message= intent.getStringExtra(MainActivity.EXTRA_MESSAGE);  

  19.    

  20.         // Create the textview  

  21.         TextView textView=new TextView(this);  

  22.         textView.setTextSize(40);  

  23.         textView.setText(message);  

  24.    

  25.         // Set the textview as the activity layout  

  26.         setContentView(textView);  

  27.          

  28.     }  

  29.    

  30.     @Override  

  31.     public boolean onCreateOptionsMenu(Menu menu){  

  32.         // Inflate themenu; this adds items to the action bar if it is present.  

  33.         getMenuInflater().inflate(R.menu.display_message, menu);  

  34.         return true;  

  35.     }  

  36.    

  37. }  

转载于:https://my.oschina.net/kutengshe/blog/404293

你可能感兴趣的文章
外部 BLOB 存储体系结构
查看>>
导入文本文件时如何指定字段类型.sql
查看>>
C# 对象二进制序列化
查看>>
收藏的几个好的网站
查看>>
linux中shell变量$#,$@,$*,$?,$0,$1,$2的含义解释
查看>>
前端精选文摘:那些年我们一起清除过的浮动
查看>>
实现一种快速查找Richedit中可见区域内OLE对象的方法
查看>>
Java虚拟机工作原理详解 ( 二 )
查看>>
对象的序列化(Serialization)
查看>>
理解 Glance - 每天5分钟玩转 OpenStack(20)
查看>>
编译pure-ftpd时提示错误Your MySQL client libraries aren't properly installed
查看>>
Impala SQL
查看>>
STL源代码分析--萃取编程(traits)技术的实现
查看>>
Linux ALSA声卡驱动之一:ALSA架构简介【转】
查看>>
为了解决linux配置Nginx 只能关闭防火墙才能访问的问题
查看>>
CentOS7.2 创建本地YUM源和局域网YUM源
查看>>
ubuntu设置root密码及 Xftp连接linux(ubuntu)时提示ssh服务器拒绝了密码,请再试一次...
查看>>
[转]WCF RIA Services
查看>>
R的绘图实例集锦
查看>>
How do you select a particular option in a SELECT element in jQuery? - Stack Overflow
查看>>