能把组件作为对象进行参数mybatis 传递对象参数吗

请教如何将控件作为参数传递阿_百度知道
请教如何将控件作为参数传递阿
提问者采纳
这个很简单: 您把 Public Sub DisPlayeBiaoZhi(dd As Control, k As Long) 改为 Public Sub DisPlayeBiaoZhi(dd, k As Long) 就好了 既然不知道确切的类型 就让VB自己去判断 这就是VB最强大的地方 如果您实在想知道是什么类型 应该是改为 Publi
来自团队:
其他类似问题
为您推荐:
参数传递的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Android的intent之间复杂参数的传递_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Android的intent之间复杂参数的传递
来源:Linux社区&
作者:张伟
老师在《Lecture03_应用程序框架及关键组件_1》课上有介绍了Intent是Activity与Activity之间,Activity与Service之间传递参数的介质,并有使用Intent和Bundle在组件之间传递数据的用法和例子,而这两种通常实现的是Java基本对象类型和String的传递。
在实际项目中,页面之间传值,除了以上几种,经常还有传递Object对象、List类型、List&Object&类型和全局变量等等的需求。本文就是介绍怎么传递这几种类型的参数。
一、传递List&String&和List&Integer&
以下以传递List&String&为例,发送List&String&语法为:
intent.putStringArrayListExtra(key, list);
接收List&String&的语法为:
list = (ArrayList&String&)getIntent().getStringArrayListExtra(key);
以下是一个运用实例:
ArrayList&String&&stringList&=&new&ArrayList&String&();&&
stringList.add("string1");&&
stringList.add("string2");&&
stringList.add("string3");&&
Intent&intent&=&new&Intent();&&
intent.setClass(ListDemoActivity.this,&StringListActivity.class);&&
intent.putStringArrayListExtra("ListString",&stringList);&&
startActivity(intent);&&
ArrayList&String&&stringList&=&(ArrayList&String&)&getIntent().getStringArrayListExtra("ListString");&&
List&Integer&类似以上的操作调用下面的方法也可以实现发送和接收:
intent.putIntegerArrayListExtra(key,&list);
list =(ArrayList&Integer&) getIntent().getIntegerArrayListExtra(key);
二、使用Serializable和Parcelable两种方式传递Object
的Intent之间传递对象有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key,Object)。方法中的Object要满足一定的条件,前者实现了Serializable接口,而后者实现了Parcelable接口。
以下是实现了Serializable接口的User类,命名为SerializableUser纯粹是从类名方便区分实现了Parcelable接口的User类,实际开发中不建议这么命名:
public&class&SerializableUser&implements&Serializable&{&&
&&&&private&String&userN&&
&&&&private&String&&&
&&&&public&SerializableUser()&{&&
&&&&public&SerializableUser(String&userName,&String&password)&{&&
&&&&&&&&this.userName&=&userN&&
&&&&&&&&this.password&=&&&
&&&&public&String&getUserName()&{&&
&&&&&&&&return&userN&&
&&&&public&void&setUserName(String&userName)&{&&
&&&&&&&&this.userName&=&userN&&
&&&&public&String&getPassword()&{&&
&&&&&&&&return&&&
&&&&public&void&setPassword(String&password)&{&&
&&&&&&&&this.password&=&&&
以下是实现了Parcelable接口的User类:
public&class&ParcelableUser&implements&Parcelable&{&&
&&&&private&String&userN&&
&&&&private&String&&&
&&&&public&ParcelableUser()&{&&
&&&&public&ParcelableUser(String&userName,&String&password)&{&&
&&&&&&&&this.userName&=&userN&&
&&&&&&&&this.password&=&&&
&&&&public&String&getUserName()&{&&
&&&&&&&&return&userN&&
&&&&public&void&setUserName(String&userName)&{&&
&&&&&&&&this.userName&=&userN&&
&&&&public&String&getPassword()&{&&
&&&&&&&&return&&&
&&&&public&void&setPassword(String&password)&{&&
&&&&&&&&this.password&=&&&
&&&&public&static&final&Parcelable.Creator&ParcelableUser&&CREATOR&=&new&Creator&ParcelableUser&()&{&&
&&&&&&&&@Override&&
&&&&&&&&public&ParcelableUser&createFromParcel(Parcel&source)&{&&
&&&&&&&&&&&&ParcelableUser&parcelableUser&=&new&ParcelableUser();&&
&&&&&&&&&&&&parcelableUser.userName&=&source.readString();&&
&&&&&&&&&&&&parcelableUser.password&=&source.readString();&&
&&&&&&&&&&&&return&parcelableU&&
&&&&&&&&}&&
&&&&&&&&@Override&&
&&&&&&&&public&ParcelableUser[]&newArray(int&size)&{&&
&&&&&&&&&&&&return&new&ParcelableUser[size];&&
&&&&&&&&}&&
&&&&@Override&&
&&&&public&int&describeContents()&{&&
&&&&&&&&&&
&&&&&&&&return&0;&&
&&&&@Override&&
&&&&public&void&writeToParcel(Parcel&dest,&int&flags)&{&&
&&&&&&&&&&
&&&&&&&&dest.writeString(userName);&&
&&&&&&&&dest.writeString(password);&&
使用两种方式传递的语法分别为:
bundle.putSerializable(key,object);
bundle.putParcelable(key,object);
使用两种方式接收的语法分别为:
object=(Object) getIntent().getSerializableExtra(key);
object=(Object) getIntent().getParcelableExtra(key);
SerializableUser&serializableUser&=&new&SerializableUser("user1",&"123456");&&
ParcelableUser&parcelableUser&=&new&ParcelableUser("user2","654321");&&
Intent&intent&=&new&Intent();&&
Bundle&bundle&=&new&Bundle();&&
bundle.putSerializable("serializableUser",&serializableUser);&&
bundle.putParcelable("parcelableUser",&parcelableUser);&&
intent.setClass(ListDemoActivity.this,ObjectActivity.class);&&
intent.putExtras(bundle);&&
startActivity(intent);&&
SerializableUser&serializableUser&=&(SerializableUser)&getIntent().getSerializableExtra("serializableUser");&&
ParcelableUser&parcelableUser&=&(ParcelableUser)&getIntent().getParcelableExtra("parcelableUser");&&
可能有人注意到,实现Serializable接口就是把对象序列化,然后再传输,和Java的常用编程没什么明显区别,而且User不需要明显改变,比较简单。我也推荐用这种方式。
然而,后一种实现Parcelable接口的类比较复杂,Parcelable是个什么东西呢?
Android提供了一种新的类型:Parcel,被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。&除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel中。
实现Parcelable接口需要实现三个方法:
1)writeToParcel 方法。该方法将类的数据写入外部提供的Parcel中。
声明:writeToParcel (Parcel dest, int flags)。
2)describeContents方法。直接返回0就可以。
3)静态的Parcelable.Creator&T&接口,本接口有两个方法:
createFromParcel(Parcel in) 实现从in中创建出类的实例的功能。
newArray(int size) 创建一个类型为T,长度为size的数组, returnnew T[size];即可。本方法是供外部类反序列化本类数组使用。
通过log测试输出可知程序的运行情况,在bundle.putParcelable(“parcelableUser”, parcelableUser);时,调用了ParcelableUser类中的publicvoid writeToParcel(Parcel dest, int flags)方法,并向dest写数据,在&ParcelableUserparcelableUser= (ParcelableUser)getIntent().getParcelableExtra(“parcelableUser”);的时候,调用了ParcelableUser类中的public ParcelableUsercreateFromParcel(Parcel source) 方法,创建了一个ParcelableUser对象,并给这个对象的属性赋值,这里的Parcel source和Parcel dest是相同的,然后返回这个ParcelableUser对象。最后就可以打印出parcelableUser的属性信息了。
三、传递List&Object&
如果我们要传递的是Object组成的List列表,即List&Object&,该怎么办呢?首先需要将Object对象实现Serializable接口,然后把list强制类型转换成Serializable类型,最后通过:
Intent.putExtra(key,&(Serializable)objectList);
这样的语法来传递,接收方在接收的时候也需要强制类型转换成List&Object&,接收 List&Object&使用的语法是:
objectList= (List&Object&) getIntent().getSerializableExtra(key);
以下是一个应用实例,这里使用的SerializableUser类在上一步有给出,这里就不再重复给出。
SerializableUser&user1&=&new&SerializableUser("user1",&"123456");&&
SerializableUser&user2&=&new&SerializableUser("user2",&"654321");&&
List&SerializableUser&&objectList&=&new&ArrayList&SerializableUser&();&&
objectList.add(user1);&&
objectList.add(user2);&&
Intent&intent&=&new&Intent();&&
intent.setClass(ListDemoActivity.this,&ObjectListActivity.class);&&
intent.putExtra("ListObject",&(Serializable)&objectList);&&
startActivity(intent);&&
List&SerializableUser&&objectList&=&(List&SerializableUser&)&getIntent().getSerializableExtra("ListObject");&&
四、全局变量
如果一些特殊的应用级别的参数,不方便使用intent来传递参数,我们很容易想到是不是有全局变量或静态变量可以使用?Java中的静态变量在这里是适合的,但其值在Activity调用了System.exit(0)或finish()后就丢失了。
而在android中有个更优雅的方式是使用ApplicationContext。这种全局变量方法相对静态类更有保障,直到应用的所有Activity全部被destory掉之后才会被释放掉。
Android的SDK中有说道,Application是用来保存全局变量的,并且是在package创建的时候就存在了。所以当我们需要创建全局变量的时候,不需要再像J2SE那样需要创建public权限的static变量,而直接在application中去实现。只需要调用Context的 getApplicationContext或者Activity的getApplication方法来获得一个Application对象,就可以设置或读取全局变量的值。
启动Application时,系统会创建一个PID,即进程ID,所有的Activity就会在此进程上运行。那么我们在Application创建的时候初始化全局变量,同一个应用的所有Activity都可以取到这些全局变量的值,换句话说,我们在某一个Activity中改变了这些全局变量的值,那么在同一个应用的其他Activity中值就会改变。
1.&&&&&&&&创建一个属于你自己的android.app.Application的子类,为想要共享的private全局变量增加setter和getter方法。
public&class&MyApp&extends&Application{&&
&&&&private&String&globalV&&
&&&&public&String&getGlobalVariable()&{&&
&&&&&&&&return&globalV&&
&&&&public&void&setGlobalVariable(String&globalVariable)&{&&
&&&&&&&&this.globalVariable&=&globalV&&
2.&&&&&&&&在manifest中申明一下这个类,这时Android就为此建立一个全局可用的实例。
其实就是在原来仅有的一个application标签上为application制定一个名字为这个全局实例。
&android:name=".MyApp"&android:icon="@drawable/icon"&android:label="@string/app_name"&
3.&&&&&&&&可以在其他任何地方使用Context.getApplicationContext()方法获取这个实例,进而获取其中的状态(变量)。
MyApp&myApp&=&((MyApp)&getApplicationContext());&&
myApp.setGlobalVariable("全局变量");&&
Intent&intent&=&new&Intent();&&
intent.setClass(ListDemoActivity.this,&GlobalActivity.class);&&
startActivity(intent);&&
MyApp&myApp&=&((MyApp)&getApplicationContext());&&
String&globalVariable&=&myApp.getGlobalVariable();&&
通过上述关于传递Object对象、List类型、List&Object&类型和全局变量等的介绍,希望能够给大家提供一些帮助。
更多Android相关信息见 专题页面
相关资讯 & & &
& (01月20日)
& (09/16/:31)
& (03月06日)
& (02/18/:27)
& (09/16/:10)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款详解Android的Activity通过Intent来进行Activity与Activity之间传递参数以下为本篇文章全部内容:好些日子没更新博文了,由于最近比较忙所以学习和博客都搁置了一段时间,今天难得有空就把博文更新一下,这次给大家更新的是Android多个Activity之间如果传递参数。大家都知道在web程序当中传参很方便,最常用的就是GET和POST,但在Android里面不像PHP之前那么容易传参怎么办呢?其实传参也很简单,只需借助Intent来完成即可。下面我将给大家介绍一下Intent和其作用。什么是Intent(意图) 1、Intent是一种运行时绑定(Rruntime binding)机制,在能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以想Android表达某种请求或者意愿,Android会根据一员的内容选择适合的组件来请求。 2、在这些组件之间的通讯中,主要是由Intent协助完成的。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intern的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用 3、因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调着的解耦。 4、例如:在一个联系人维护的应用中,当我们在一个联系人列表屏幕(假设对应的Activity为listActivity)上,点击某个联系人后,希望能够跳出该联系人的详细信息(假设对应的Activity为detailActivity) 5、listActivity需要构造一个,这个Intent用于告诉系统,我们要做查看详细资料的动作,此动作对应的对象是某个联系人,然后调用startActivity(Intent intent),将构造成的Intent传入,系统会根据此Intent中的描述,到ManiFest中找到满足此Intent要求的Activity,系统会调用找到的Activity,即为detailActivity,最终传入Intent,detailActivity则会根据此Intent中的描述执行相应的操作实现页面之间跳转的两种方法1、startActivity(intent);//无返回值2、startActivityForResult(intent,requestCode);//有返回值 在类重载onActivityResult方法 onActivityResult(int requestCode,int resultCode,Intent data);//在A页面使用,通过这个方法接收B页面的返回值 setResult(resultCode,data);//在B页面使用,通过这个方法给A页面设置返回值使用方法 实例化Intent对象第一个参数为当前Activity对象,第二个参数为要跳转到的Activity
Intent intent = new Intent(MainActivity.this, ShowActivity.class); 常用方法
putExtra(key,value);//携带参数发送到另一个页面
putExtras(Bundle b);//传递Bundle类型的数据
startActivity(intent);//启动另一个页面,参数为实例化出来的Intent对象
setClass(当前Activity, 目标Activity.class);//当实例化空构造器的时候,可以通过该方法设置当前Activity和目标Activity
第二个页面获取参数
Intent intent = getIntent();//使用getIntent获取第一个页面传送过来的Intent对象
String name = intent.getStringExtra(key);//获取传送过来的字符串
Bundle b = intent.getExtras();//获取Bundle方式传过来的Bundle1、静态变量传递数据 目标Activity的静态变量必须为public,否则无法使用 ShowActivity.name = &姓名&;//目标Activity.目标Activity定义的静态变量2、通过putExtra传递数据&&&&&&&&putExtra(key,value);//携带参数发送到另一个页面&&&&&&&&String name = intent.getStringExtra(key);//获取传送过来的字符串3、剪切板传递数据 通过getSystemService(Context.CLIPBOARD_SERVICE) ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);4、全局变量传递数据 创建一个类继承Application在设置变量,并设置get方法获取变量的值 在AndroidManifest.xml的application里面添加android:name=&.Defind& //Defind为类名 defind = (Defind) getApplication();//在使用的类里面通过getApplication获取全局变量类的对象5、数据包Bundle传递数据 Bundle b = new Bundle();//创建Bundle对象 b.putString('name','姓名');//往Bundle对象添加传递的参数 b.putInt('age',1);//往Bundle对象添加传递的参数 intent.putExtras(b);在intent里面添加Bundle对象 Bundle data = intent.getExtras();//获取传递过来的Bundle对象 data.getString('name');//通过Bundle对象的key获取值 data.getInt('age');////通过Bundle对象的key获取值以上几种就是常用的传递数据的方法,今天我将会给大家讲讲其中四种,因为剪切板我只用过一次,感觉用到的地方不是太多,所以就给大家讲讲常用的剩下几种。静态变量传递数据:& &&& & 静态变量传递数据需要我们在即将打开的Activity当中设置静态变量,然后在第一个Activity对即将打开的Activity的静态变量进行赋值,例如我要在MainActivity点击按钮的时候打开ShowActivity,那么我就在ShowActivity里面设置一个全局的静态变量,然后在MainActivity对该变量进行赋值,可参考下面代码:MainActivity代码public&class&MainActivity&extends&Activity&{
&&&&private&Button&
&&&&@Override
&&&&protected&void&onCreate(Bundle&savedInstanceState)&{
&&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&&setContentView(R.layout.activity_main);
&&&&&&&&button&=&(Button)&findViewById(R.id.button);
&&&&&&&&button.setOnClickListener(new&OnClickListener()&{
&&&&@Override
&&&&public&void&onClick(View&v)&{
//&TODO&Auto-generated&method&stub
Intent&intent&=&new&Intent(MainActivity.this,&ShowActivity.class);//实例化一个inent&&&&
ShowActivity.age&=&100;//设置静态变量传递的参数
startActivity(intent);
&&&&&&&&&&&&}
}ShowActivity代码:public&class&ShowActivity&extends&Activity{
&&&&private&TextView&
&&&&public&static&int&
&&&&private&Defind&
&&&&protected&void&onCreate(Bundle&savedInstanceState){
&&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&&setContentView(R.layout.activity_show);
&&&&&&&&textview&=&(TextView)&findViewById(R.id.textview);
&&&&&&&&textview.setText(&静态变量:&+age);
}通过putExtra传递数据:&&&&&&&&这个方法我个人比较喜欢这样用,因为我感觉这样很快捷很方便的解决了我传递参数,这个方法跟Bundle传递相类似,也可以说根本就是一样,只是Bundle需要实例化一个Bundle对象添加参数而已。使用putExtra比较方便,只需要在提交的Activity提交然后在即将打开的Activity进行接收就可以了,详细实例参考下面代码:MainActivity代码public&class&MainActivity&extends&Activity&{
&&&&private&Button&
&&&&@Override
&&&&protected&void&onCreate(Bundle&savedInstanceState)&{
&&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&&setContentView(R.layout.activity_main);
&&&&&&&&button&=&(Button)&findViewById(R.id.button);
&&&&&&&&button.setOnClickListener(new&OnClickListener()&{
&&&&@Override
&&&&public&void&onClick(View&v)&{
//&TODO&Auto-generated&method&stub
Intent&intent&=&new&Intent(MainActivity.this,&ShowActivity.class);//实例化一个inent&&&&
intent.putExtra(&name&,&&大家好,我是Sunny&);//为putExtra添加需要传递的参数
startActivity(intent);
&&&&&&&&&&&&}
}ShowActivity代码:public&class&ShowActivity&extends&Activity{
&&&&private&TextView&
&&&&public&static&int&
&&&&private&Defind&
&&&&protected&void&onCreate(Bundle&savedInstanceState){
&&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&&setContentView(R.layout.activity_show);
&&&&&&&&textview&=&(TextView)&findViewById(R.id.textview);
&&&&&&&&Intent&intent&=&getIntent();//获取一个intent对象
&&&&&&&&String&name&=&intent.getStringExtra(&name&);//获取传递过来的值
&&&&&&&&textview.setText(&putExtra传参:&+name);
}全局变量传递数据:&&&&这个方式支持开发者自己定义一个类来进行传参,但是该类需要在AndroidManifest.xml中声明出来,在AndroidManifest.xml的application里面添加android:name并给name赋值为类名,然后在类里面通过getApplication获取全局变量类的对象,再对该对象进行操作。在实例中我将用三个java源文件来演示分别是Defind.java、MainActivity.java、ShowActivity.java,参考代码如下:先在AndroidManifest.xml中声明:在application中添加android:name并且赋值是自己定义的类名&&application
&&&&&&&&android:name=&.Defind&
&&&&&&&&android:allowBackup=&true&
&&&&&&&&android:icon=&@drawable/ic_launcher&
&&&&&&&&android:label=&@string/app_name&
&&&&&&&&android:theme=&@style/AppTheme&&&
&&&&&&&&&activity
&&&&&&&&&&&&android:name=&.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=&.ShowActivity&
&&&&&&&&&&&&android:label=&@string/app_name&
&&&&&&&&&&&&&&/activity&
&&&&&/application&MainActivity代码:public&class&MainActivity&extends&Activity&{
&&&&private&Button&
&&&&private&Defind&
&&&&@Override
&&&&protected&void&onCreate(Bundle&savedInstanceState)&{
&&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&&setContentView(R.layout.activity_main);
&&&&&&&&defind&=&(Defind)&getApplication();
&&&&&&&&button&=&(Button)&findViewById(R.id.button);
&&&&&&&&button.setOnClickListener(new&OnClickListener()&{
&&&&@Override
&&&&public&void&onClick(View&v)&{
&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&&&&&&&&&Intent&intent&=&new&Intent(MainActivity.this,&ShowActivity.class);//实例化一个inent
&&&&&&&&&&&&&&&&defind.setQq(&&);//设置全局变量传递的参数
&&&&&&&&startActivity(intent);
}ShowActivity代码:public&class&ShowActivity&extends&Activity{
&&&&private&TextView&
&&&&public&static&int&
&&&&private&Defind&
&&&&protected&void&onCreate(Bundle&savedInstanceState){
&&&& super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
textview&=&(TextView)&findViewById(R.id.textview);
defind&=&(Defind)&getApplication();//获取全局变量的值
textview.setText(&全局变量:&+defind.getQq());
}数据包Bundle传递数据:&&&&&&&&该方式跟putExtra很相似,使用的是putExtras,但是在使用putExtras之前我们得先创建一个Bundle对象来存放我们的值,该方式用于传递比较复杂类型的数据。请看下面参考代码:MainActivity代码:public&class&MainActivity&extends&Activity&{
&&&&private&Button&
&&&&private&Defind&
&&&&@Override
&&&&protected&void&onCreate(Bundle&savedInstanceState)&{
&&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&&setContentView(R.layout.activity_main);
&&&&&&&&button&=&(Button)&findViewById(R.id.button);
&&&&&&&&button.setOnClickListener(new&OnClickListener()&{
&&&&@Override
&&&&public&void&onClick(View&v)&{
&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&Intent&intent&=&new&Intent(MainActivity.this,&ShowActivity.class);//实例化一个inent
Bundle&b&=&new&Bundle();
b.putString(&web&,&&&);
b.putInt(&views&,1000);
intent.putExtras(b);
startActivity(intent);
&&&&&&&&});&
}ShowActivity代码:public&class&ShowActivity&extends&Activity{
&&&&private&TextView&
&&&&public&static&int&
&&&&private&Defind&
&&&&protected&void&onCreate(Bundle&savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
textview&=&(TextView)&findViewById(R.id.textview);
Intent&intent&=&getIntent();//获取一个intent对象
Bundle&b&=&intent.getExtras();
textview.setText(&Bundle提交:&+b.getString(&web&)+&浏览次数:&+b.getInt(&views&));
}以上几种方式就是我们常用到的Activity与Activity传递数据的方式。我把上面代码都综合到了一个简单的例子里面,大家也可以单独看以上代码,也可以直接全部看下面代码,下面代码我将会把AndroidManifest.xml、Defind.java、MainActivity.java、ShowActivity.java、activity_main.xml、activity_show.xml所用到的java代码和布局文件都放出来AndroidManifest.xml:&?xml&version=&1.0&&encoding=&utf-8&?&
&manifest&xmlns:android=&/apk/res/android&
&&&&package=&com.example.sunny&
&&&&android:versionCode=&1&
&&&&android:versionName=&1.0&&&
&&&&&uses-sdk
&&&&&&&&android:minSdkVersion=&14&
&&&&&&&&android:targetSdkVersion=&21&&/&
&&&&&application
&&&&&&&&android:name=&.Defind&
&&&&&&&&android:allowBackup=&true&
&&&&&&&&android:icon=&@drawable/ic_launcher&
&&&&&&&&android:label=&@string/app_name&
&&&&&&&&android:theme=&@style/AppTheme&&&
&&&&&&&&&activity
&&&&&&&&&&&&android:name=&.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=&.ShowActivity&
&&&&&&&&&&&&android:label=&@string/app_name&
&&&&&&&&&&&&&&/activity&
&&&&&/application&
&/manifest&Defind.java:public&class&Defind&extends&Application&{
&&&&public&String&
public&String&getQq()&{
&&&&return&
public&void&setQq(String&qq)&{
&&&&this.qq&=&
}MainActivity.java:public&class&MainActivity&extends&Activity&{
&&&&private&Button&
&&&&private&Defind&
&&&&@Override
&&&&protected&void&onCreate(Bundle&savedInstanceState)&{
&&&&&&&&super.onCreate(savedInstanceState);
&&&&&&&&setContentView(R.layout.activity_main);
&&&&&&&&defind&=&(Defind)&getApplication();
&&&&&&&&button&=&(Button)&findViewById(R.id.button);
&&&&&&&&button.setOnClickListener(new&OnClickListener()&{
&&&&@Override
&&&&public&void&onClick(View&v)&{
&&&&&&&&&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&& Intent&intent&=&new&Intent(MainActivity.this,&ShowActivity.class);//实例化一个inent
&&&&&&&& intent.putExtra(&name&,&&我是谁&);//为putExtra添加需要传递的参数
&&&&&&&& defind.setQq(&&);//设置全局变量传递的参数
&&&&&&&& ShowActivity.age&=&100;//设置静态变量传递的参数
&&&&&&&& Bundle&b&=&new&Bundle();
&&&&&&&& b.putString(&web&,&&&);
&&&&&&&& b.putInt(&views&,1000);
&&&&&&&& intent.putExtras(b);
&&&&&&&& startActivity(intent);
&&&&&&&&&&&&}
&&&&&&&&});&&&&
}ShowActivity.java:public&class&ShowActivity&extends&Activity{
&&&&private&TextView&
&&&&public&static&int&
&&&&private&Defind&
&&&&protected&void&onCreate(Bundle&savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
textview&=&(TextView)&findViewById(R.id.textview);
defind&=&(Defind)&getApplication();//获取全局变量的值
Intent&intent&=&getIntent();//获取一个intent对象
String&name&=&intent.getStringExtra(&name&);//获取putExtra提交的值
Bundle&b&=&intent.getExtras();
textview.setText(&putExtra提交:&+name+&\r\n静态变量:&+age+&\r\n全局变量:&+defind.getQq()+&\r\nBundle提交:&+b.getString(&web&)+&浏览次数:&+b.getInt(&views&));
Button&button&=&(Button)&findViewById(R.id.show_button);
button.setOnClickListener(new&OnClickListener()&{
&&&&@Override
&&&&public&void&onClick(View&v)&{
&&&&&&&& //&TODO&Auto-generated&method&stub
&&&& &&&&}
}activity_main.xml:&?xml&version=&1.0&&encoding=&utf-8&?&
&LinearLayout&xmlns:android=&/apk/res/android&
&&&&android:layout_width=&match_parent&
&&&&android:layout_height=&match_parent&
&&&&android:orientation=&vertical&
&&&&&Button&
&&&&&&&&android:id=&@+id/button&
&&&&&&&&android:layout_width=&match_parent&
&&&&&&&&android:layout_height=&wrap_content&
&&&&&&&&android:text=&@string/button1&
&&&&&&&&/&
&/LinearLayout&activity_show.xml:&?xml&version=&1.0&&encoding=&utf-8&?&
&LinearLayout&xmlns:android=&/apk/res/android&
&&&&android:layout_width=&match_parent&
&&&&android:layout_height=&match_parent&
&&&&android:orientation=&vertical&&&
&&&&&TextView&
&&&&&&&&android:id=&@+id/textview&
&&&&&&&&android:layout_width=&match_parent&
&&&&&&&&android:layout_height=&wrap_content&
&&&&&&&&/&
&&&&&Button&
&&&&&&&&android:id=&@+id/show_button&
&&&&&&&&android:layout_width=&match_parent&
&&&&&&&&android:layout_height=&wrap_content&
&&&&&&&&android:text=&@string/show_button&
&&&&&&&&/&
&/LinearLayout&以上代码执行之后的效果图如下:谢谢大家对本博客的支持,本站专注原创技术文章,三更半夜做实验写文章不易,且看且珍惜博主的心得。请转载带上本文链接注明出处。扫二维码快速加群:如果大家有什么疑问可以加我QQ进行解答,也可以加入交流群听说点赞是一种美德+1上一篇:下一篇:最新评论网站统计

我要回帖

更多关于 java 对象参数传递 的文章

 

随机推荐