Android中采用Intent实现界面跳转
发布时间:2023-11-11 11:31:00 所属栏目:教程 来源:转载
导读: Intent 信使、意图
由Intent来协助Android各个组件之间跳转
1、
startActivity(intent)
包下新建一个类,FActivity.class
publi
由Intent来协助Android各个组件之间跳转
1、
startActivity(intent)
包下新建一个类,FActivity.class
publi
Intent 信使、意图 由Intent来协助Android各个组件之间跳转 1、 startActivity(intent) 包下新建一个类,FActivity.class public class FActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.factivity); } } 新建一个XML文件factivity.xml <Button android:id="@+id/bt1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="First"/> <Button android:id="@+id/bt2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Second"/> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:layout_gravity="center" /> 同样在创建第二对class和xml。 在AndroidManiFest中注册两个新类,并将默认启动类放在最前: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.bcp.layouttest"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".FActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 添加按钮事件: public class FActivity extends AppCompatActivity { private Button bt_first; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.factivity); /*** * 点击第一个按钮实现跳转页面 */ bt_first= (Button) findViewById(R.id.bt1); bt_first.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(); //第一个:上下文对象 //第二个:目标文件 intent.setClass (FActivity.this,SActivity.class); startActivity(intent); } }); } } 2、 startActivityForResult(intent,requestCode); onActivityResult(int requestCode,int resultCode,Intent data) setResult(resultCode,data); 查看代码: FActivity.java public class FActivity extends AppCompatActivity { private Button bt_first; private Button bt_second; private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.factivity); /*** * 点击第一个按钮实现跳转页面 */ bt_first= (Button) findViewById(R.id.bt1); bt_first.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(); intent.setClass (FActivity.this,SActivity.class); startActivity(intent); } }); /*** * 通过startActivityForresult实现 */ bt_second= (Button) findViewById(R.id.bt2); bt_second.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent().setClass(FActivity.this,SActivity.class); /*** * 第二个参数是请求的标示 */ startActivityForResult(intent,1); } }); tv= (TextView) findViewById(R.id.text1); } /*** * 通过startActivityForresult实现,接收返回数据的方法 * 一、请求的标示 * 二、第二个页面返回的标示 * 三、第二个页面传回的数据 */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //判断是否满足条件来进行回传数据 if(requestCode==1&&resultCode==2){ String content=data.getStringExtra("intent"); tv.setText(content); } } } SActivity.java public class SActivity extends AppCompatActivity{ private Button bt; private String content="Hello~!"; @Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sactivity); /*** * 第二个页面给第一个页面回传数据 * 回传给第一个页面的实际上是一个intent对象 */ bt= (Button) findViewById(R.id.bt3); bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(); //创建回传对象 intent.putExtra("intent",content); setResult(2,intent); //结束当前页面 finish(); } }); } } App的签名和打包: 1、为了保证每个应用开发者的合法。 2、防止别人通过相同的Package Name来混淆替换已经安装的程序,从而出现一些恶意篡改 3、保证我们每次发布的版本的一致性(如自动更新不会因为版本不一样而无法安装) (编辑:航空爱好网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐