当前位置:   article > 正文

安卓开发AndroidStudio在MainActivity中打开另一个Activity_在mainactivity中怎么使用其他类

在mainactivity中怎么使用其他类

1.定义一个类,继承Activity:在该类中重写 Activity的 onCreate()方法

  1. package demo;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.annotation.Nullable;
  6. import android.view.ViewGroup;
  7. import com.cszs.jgdnc.mi.R;
  8. import demo.SecretUrlView;
  9. public class SecretUrlActivity extends Activity {
  10. public ViewGroup urlView_container;
  11. private SecretUrlView urlView = null;
  12. @Override
  13. protected void onCreate(@Nullable Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.url_layout) ;
  16. InitUrlSecretView();
  17. }
  18. public void InitUrlSecretView(){
  19. if(urlView!=null){
  20. urlView.showUrlView();
  21. return;
  22. }
  23. this.urlView_container = findViewById(R.id.view_url_container);
  24. urlView = new SecretUrlView(this);
  25. }
  26. public void toMainActivity(){
  27. Intent intent = new Intent(SecretUrlActivity.this,MainActivity.class) ;
  28. startActivity(intent) ;
  29. }
  30. }

重写方法,选中该java文件,然后选中菜单栏中Code:

2.在layout文件夹中,为该Activity添加布局文件:文件名必须是小写

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. xmlns:app="http://schemas.android.com/apk/res-auto">
  6. <FrameLayout
  7. android:id="@+id/view_url_container"
  8. android:layout_width="match_parent"
  9. android:layout_height="match_parent"
  10. android:layout_marginLeft="0dp"
  11. android:layout_marginTop="0dp"
  12. android:layout_marginRight="0dp"
  13. android:layout_marginBottom="0dp"
  14. android:background="#FFFFFF">
  15. <WebView
  16. android:layout_width="fill_parent"
  17. android:layout_height="fill_parent"
  18. android:id="@+id/wv"
  19. android:layout_alignParentLeft="true"
  20. android:layout_alignParentStart="true"
  21. android:layout_alignParentTop="true" />
  22. <ImageView
  23. android:id="@+id/view_url_close"
  24. android:layout_width="32dp"
  25. android:layout_height="32dp"
  26. android:layout_marginStart="9dp"
  27. android:layout_marginTop="20dp"
  28. android:layout_marginEnd="400dp"
  29. android:contentDescription="关闭按钮"
  30. android:src="@drawable/float_hide_tip_sel"
  31. app:layout_constraintBottom_toTopOf="@+id/view_feedBox_image"
  32. app:layout_constraintEnd_toEndOf="parent"
  33. app:layout_constraintHorizontal_bias="0.78"
  34. app:layout_constraintStart_toEndOf="@+id/view_feedBox_image"
  35. app:layout_constraintTop_toTopOf="parent"
  36. app:layout_constraintVertical_bias="0.0" />
  37. </FrameLayout>
  38. </RelativeLayout>

3.在 新创建的 Activity.java 中设置该Activity所使用的 布局文件。即在 onCreate 方法中添加如下代码:

setContentView(R.layout.url_layout) ;

4.在AndroidManifest.xml中注册该 Activity:想要启动的Activity一定要先在 Manifest文件中注册

  1. <activity
  2.     android:name="demo.SecretUrlActivity"
  3.     android:label="SecondActivity" >
  4. </activity>

注意:想要哪个Activity作为程序的默认启动的Activity的时候,需要在注册的时候添加下面的代码:

  1. <intent-filter>
  2. <action android:name="android.intent.action.MAIN" />
  3. <category android:name="android.intent.category.LAUNCHER"/>
  4. </intent-filter>

5.在MainActivity中,注册点击事件,当点击某个按钮的时候,打开新的Activity:

这种方法会重新初始化这个Activity

  1. url_href.setOnClickListener(new View.OnClickListener() {
  2. @Override
  3. public void onClick(View v) {
  4. Log.e("showPrivacy", "点击跳转url界面");
  5. Intent intent = new Intent(MainActivity.this,SecretUrlActivity.class) ;
  6. startActivity(intent);
  7. }
  8. });

6.当要跳转回去 MainActivity的时候,也是同样的代码:写在SecretUrlActivity中

这样是有问题的,会重新初始化MainActivity,所以正确的做法是,直接销毁这个SecretUrlActivity ,调用 finish()

  1. public void toMainActivity(){
  2. Intent intent = new Intent(SecretUrlActivity.this,MainActivity.class) ;
  3. startActivity(intent) ;
  4. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/698014
推荐阅读
相关标签
  

闽ICP备14008679号