页面跳转android
① android怎么用intent跳转页面
Android页面跳转Intent使用
在android中,一个页面就是一个activity,在页面跳转中,用到了Intent这个类,其实Intent跳转没什么大不了的,就是调用几个方法,第一个:intent.setAction(“wang.zhe.gui.lai”);当然,里面的”wang.zhe.gui.lai”这个字符串是要在主配置文件中配置的,第二个:intent.setClass(MainActivity.this,SceondViewActivity.class);这个跳转方法是最常用的一种,这两种方法之后,用startActivity(intent);来启动跳转。不过这不是我说的重点,我所要说的是如何传值?一般对于字符串的传值,就是调用intent.putExtra("str",”字符串内容”);来传值,但是要是传一个对象呢?在intent中提供了一个方法,也是 putExtra(),不过,这个是传对象的方法putExtra(String name, Serializable value),是可以传对象的,不过对应的对象要序列化,其实就是实现一个标示接口Serializable,下面将部分源码附上。
这是一个userinfo类
package com.example.regist;
import java.io.Serializable;
public class Userinfo implements Serializable {
String userName;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserGender() {
return userGender;
}
public void setUserGender(String userGender) {
this.userGender = userGender;
}
public String getUserBathday() {
return userBathday;
}
public void setUserBathday(String userBathday) {
this.userBathday = userBathday;
}
public String getUserLove() {
return userLove;
}
public void setUserLove(String userLove) {
this.userLove = userLove;
}
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
String userPassword;
String userGender;
boolean userIsmarry;
public boolean isUserIsmarry() {
return userIsmarry;
}
public void setUserIsmarry(boolean userIsmarry) {
this.userIsmarry = userIsmarry;
}
String userBathday;
String userLove;
String userEmail;
}
可以看出该类实现了Serializable接口。
下面是跳转加传值的部分代码:
Intent intent=new Intent();
intent.setClass(MainActivity.this,SecondviewActivity.class);
intent.putExtra("user",user);//user是实例化之后的对象
startActivity(intent);
下面是第二个界面所对应的类接受传过来的对象的代码
TextView tex=new TextView(this);
Intent intent=getIntent();
Userinfo user=(Userinfo) intent.getSerializableExtra("user");
现在就是一个完整的user对象了,你可以随性而用了。
② android 页面跳转以后,原来的页面还会显示吗
原来页面可以显示。
具体解答如下:
Andriod页面之间的跳转:显示意图跳转
利用Intend进行跳转,按返回键可以直接返回前一个界面。
使用时需注意在Manifest.xml文件中注册Activity main.xml(Mainactivity布局)
创建按钮的onclick方法:public class MainActivity extends AppCompatActivity
本题解答如上,希望对您有所帮助。
③ android 界面跳转怎么控制
下面关于界面跳转的例子来自于android学习手册,如果想看实际运行的例子的话,请去下载,并且可以看源码和文档。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行, 源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳
android使用,从一个Activity(界面)跳转到另一个Activity时,需要使用到Intent来启动Activity。在Intent使用时,分为显式调用和隐式调用2类,显式调用就是直接调用另一个Activity的class类,隐式调用需要通过调用另一个Activity的action 来启动另一个Activity,详细如下:
Intent在android中的定义为:public Intent (Context packageContext , Class<?> cls);
1、显式调用---直接调用Activity的Class类
例,Activity1调用Activity2
Intent intent = new Intent(this , Activity2.class);
startActivity(intent);
2、隐式调用
Activity1隐式调用Activity2时需要在AndroidManifest.xml文件中配置Activity2的action和category,具体添加下面的代码到Activity2的定义中
<intent-filter>
<action android:name="myaction2"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="mycategory" />
</intent-filter>
接着同样使用intent来启动Activity,代码如下:
Intent intent = new Intent("myaction2");
startActivity(intent);
这样就可以启动Activity2
注:在使用intent隐式调用Activity时会遇到多个Activity的intent-filter中的action和category相同时,这时android会先弹出一个选择界面的窗口,显式要启动的Activity列表,根据用户的选择来启动Activity,如Activity2和Activity3的action和category相同
<Activity android:name=".Activity2">
<intent-filter>
<action android:name="myaction2"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="myCategory" />
</intent-filter>
</Activity>
<Activity android:name=".Activity3">
<intent-filter>
<action android:name="myaction2"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="myCategory" />
</intent-filter>
</Activity>
启动Activity代码如下:
Intent intent = new("action2");
intent.addCategory("myCategory");
startActivity(intent);
这时就会弹出Acvity的选择窗口,选择启动activity2还是activity3
④ android应用程序如何实现界面跳转
你先写一个xml文件 内容是<Button xmlns:android="http://scehmas.android.com/apk/res/android" android:layout_widht="wrap_content" android:layout_height="wrap_content" android:text="按钮" android:id="@+/btn"/>
然后再第一个activity 中通过findViewById()得到这个button button.setOnClickListener(new OnClickListener(){
public void onClick(View view){
Intent intent=new Intent();
intent.setCass(Activity1.this,activity2.class)
startAtivity(intent);
});
ok 这样就行了 纯手敲望采纳。
⑤ android 开发中点击弹出对话框中的按钮进行页面跳转如何实现
在按钮的点击事件中,用intent跳到下一个activity
⑥ android开发,单击按钮之后跳转到另一个页面
1、首先在一个布局文件(.XML)中绘画了一个跳转按钮(id为btn1):
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击跳转" />
2、然后在关联的类中声明一个私有button名称,如:
private Button btn1;
TIPS:在类上会添加:import android.widget.Button;
3、接着在类中onCreate的方法内执行以下操作:
(1)、给btn1赋值,即设置布局文件中的Button按钮id进行关联,如:
btn1 = (Button) findViewById(R.id.btn1);
(2)、给btn1绑定点击事件:
btn1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
}
});
TIPS:在类上会添加:import android.view.View;
(3)、 给bnt1添加点击响应事件:
btn1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
//Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。
//page1为先前已添加的类,并已在AndroidManifest.xml内添加活动事件(<activity android:name="page1"></activity>),在存放资源代码的文件夹下下,
Intent i = new Intent(MainActivity.this , page1.class);
////启动
startActivity(i);
}
});
TIPS:在类上会添加:import android.content.Intent;
4、最后,就可以就可以跳转到下一个页面了。
⑦ android页面跳转的几种方式
android页面跳转的话,现在更多是流行使用fragment来进行切换,还有就是intent来进行跳转。
⑧ android界面跳转怎么实现
没明白你的跳转是要干嘛!但是下面给你说下!Intent是跳转页面用的
你可以在Button 监听事件里面写Intent in=new Intent(A.this,B.class);startActivity(in);<A指的的当前Activity 的名字,B 是指要跳转的Activity 的名字,记住要在AndrioidManifest.xml声明这些Activity,不然会报错的>
⑨ 安卓中如何实现页面跳转
安卓实现页面跳转及传递参数教程:
用类名跳转
Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述, 负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent在这里起着实现调用者与被调用者之间的解耦作用。
Intent传递过程中,要找到目标消费者(另一个Activity,IntentReceiver或Service),也就是Intent的响应者。
Java代码packagecom.Android;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.View.OnClickListener;
{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.formstuff);
finalImageButtonbutton=(ImageButton)findViewById(R.id.android_button);
button.setOnClickListener(newOnClickListener(){
publicvoidonClick(Viewv){
//用类名跳转,需要在AndroidManifest.xml中申明activity
Intentintent=newIntent(FormStuff.this,HelloTabWidget.class);
startActivity(intent);
}
});
}
复制代码Xml代码<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.Android"android:versionCode="1"android:versionName="1.0">
<applicationandroid:icon="@drawable/icon"android:theme="@android:style/Theme.NoTitleBar">
<activityandroid:name=".FormStuff"android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!--申明activity-->
<activityandroid:name="HelloTabWidget"></activity>
</application>
<uses-sdkandroid:minSdkVersion="4"/>
</manifest>使用Action跳转实现
使用Action跳转,如果有一个程序的 AndroidManifest.xml中的某一个Activity的IntentFilter段中定义了包含了相同的Action那么这个Intent 就与这个目标Action匹配。如果这个IntentFilter段中没有定义 Type,Category,那么这个 Activity就匹配了。但是如果手机中有两个以上的程序匹配,那么就会弹出一个对话可框来提示说明。
Action的值在Android中有很多预定义,如果想直接转到你自己定义的Intent接收者,可以在接收者的 IntentFilter中加入一个自定义的Action值(同时要设定 Category值为"android.intent.category.DEFAULT"),在Intent中设定该值为Intent的 Action,就直接能跳转到自己的Intent接收者中。因为这个Action在系统中是唯一的。
data/type,可以用Uri来做为data,比如Uri uri = Uri.parse(http://www.google.com);
Intent i = new Intent(Intent.ACTION_VIEW,uri);手机的Intent分发过程中,会根据http://www.google.com 的scheme判断出数据类型type
手机的Brower则能匹配它,在Brower的Manifest.xml中的IntenFilter中首先有ACTION_VIEW Action,也能处理http:的type。
至于分类Category,一般不要去在Intent中设置它,如果写Intent的接收者,就在Manifest.xml的 Activity的 IntentFilter中包含android.category.DEFAULT,这样所有不设置 Category(Intent.addCategory(String c);)的Intent都会与这个Category匹配。
extras(附加信息),是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。
Java代码packagecom.android.edit_text;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.os.Bundle;
importandroid.view.KeyEvent;
importandroid.view.View;
importandroid.widget.EditText;
{
privateTextViewm_TextView;
privateEditTextm_EditText;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_EditText=(EditText)this.findViewById(R.id.EditText01);
m_EditText.setOnKeyListener(editTextKeyListener);
}
privateEditText.=newEditText.OnKeyListener(){
@Override
publicbooleanonKey(Viewarg0,intarg1,KeyEventarg2){
//action跳转,需要在AndroidManifest.xml中配置action
Intenti=newIntent("android.intent.action.mydialog");
MyEditText.this.startActivity(i);
returnfalse;
}
};
}
复制代码Xml代码<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.edit_text"android:versionCode="1"
android:versionName="1.0">
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<activityandroid:name=".MyEditText"android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!--配置跳转activity-->
<activityandroid:name="com.android.dialog.MyDialog">
<intent-filter>
<!--配置action路径-->
<actionandroid:name="android.intent.action.mydialog"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
<uses-sdkandroid:minSdkVersion="7"/></manifest>