『壹』 開發android 怎樣實現登錄界面的跳轉 詳細
intent跳轉有兩種方式,一種是我們常用的顯示跳轉,還有一種是隱式跳轉。
顯式方式:Intent aIntent = new Intent(this,XXActivity.class);第一個是你當前Activity的對象,第一個參數是你要跳轉Activity的類。這種方式適合在同一個APP中的內部跳轉。
隱式方式:Intent aIntent = new Intent("actiionXXXXXXX"),參數為你在AndroidManifest.xml中配置的Actitiy中<intent-filter><action android:name="actionXXXXXXXX"/><intent-filter>
『貳』 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 界面跳轉怎麼控制
下面關於界面跳轉的例子來自於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開發中,像瀏覽器導航頁面那樣點擊怎麼跳轉到另一個Activity頁面顯示出來。怎樣傳值和接收……
你可以獲取對話框的點擊事件,比如點擊了確定然後你就跳轉
AlertDialog.Builder builder = new Builder(CommentActivity.this);
builder.setMessage("確定要跳轉嗎?");
builder.setTitle("提示");
builder.setPositiveButton("確認",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.dismiss();
這里跳轉到你想要去的頁面
}
});
builder.setNegativeButton("取消",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
arg0就是該listener的介面啊,通過這個參數就可以關閉對話框。
跳到想去的頁面就startIntent就好了,你把那一行中文換成 Intent it = new Intent(this,UserActivity.class); startActivity(it); 當然要跳去哪個頁面就你自己決定
AlertDialog.Builder builder = new Builder(CommentActivity.this);
builder.setMessage("確定要跳轉嗎?");
builder.setTitle("提示");
builder.setPositiveButton("確認",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.dismiss();
Intent it = new Intent(this,UserActivity.class);
startActivity(it);
}
});
builder.setNegativeButton("取消",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
還不錯,希望你採納。
『伍』 安卓中如何實現頁面跳轉
安卓實現頁面跳轉及傳遞參數教程:
用類名跳轉
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>
『陸』 Android跳轉頁面用Intent隱式好還是顯示好
各有各的好處……顯式的可以從1個Activity跳到另外一個明確的Activity。隱式的就不確定跳到哪個Activity了,但是要對跳轉進行描述,描述的內容就是目標Activity的特點,那麼系統會自動匹配你需要的目標Activity了。
例如Intent intent = new Intent(Intent.ACTION_CALL); 就是為intent 綁定了ACTION_CALL的動作,就是打電話。
『柒』 請問Android大神們,如何實現多個按鈕跳轉到一個頁面,但根據不同的按鈕顯示不同內容
每個按鈕的處理,在標記里傳不同的值,如下
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
intent.putExtra("mark", 0);
然後在你跳轉後的activity里,調用以下方法即可取到你設置的值
int mark = getIntent().getIntExtra("mark", -1);
根據你不同按鈕跳轉設置不同的mark值,然後在新開的頁面上,獲取到mark值,就可以判斷是哪個按鈕跳轉過來的,然後就可以繼續你需要的邏輯了
『捌』 Android怎麼跳轉到第三方應用的指定界面
界面的轉跳都是由Intent來實現的這個Intent,有兩種方式,一種叫顯示意圖,一種叫隱式意圖你調用其它APK的界面,那隻能通過隱式意圖去激活了比如說,你要調用系統的相機拍照,或者調用文件管理器選擇文件,這些都是通過隱式意圖來實現的
『玖』 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、最後,就可以就可以跳轉到下一個頁面了。