android-Android编程两activity间切换问题

问题描述

Android编程两activity间切换问题

LZ手头一个Android程序有两个activity,其中副activity主要就是画个图,且画图需要使用主activity中的一个数组的数据,我明明是先把有关数值填进了数组,完成了数组的处理之后才用intent开启的第二个activty,但实际上副activity使用的还是数组在未处理前的全零状态进行的与画图有关的运算,代码如下

主activity的声明

``` private LayoutInflater layoutInflater;
private View activity_main;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    layoutInflater = LayoutInflater.from(this);
    activity_main = layoutInflater.inflate(R.layout.activity_main, null);
    setContentView(activity_main);

副activity

```protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new MyView(this));
    }

    class MyView extends View
    {
        //effect 为路径效果(折线,曲线等)
        PathEffect effect= new PathEffect();
        private int[] colors;
        private Paint paint;
        private Path path;
        private int widthScr;
        private int heightScr;
        private MainActivity mainAc;
        public MyView(Context context){
            super(context);
            mainAc=new MainActivity();

            Display mDisplay = getWindowManager().getDefaultDisplay();
            widthScr = mDisplay.getWidth();
            heightScr= mDisplay.getHeight();
            paint = new Paint();
            paint.setStyle(Paint.Style.STROKE);

            paint.setStrokeWidth(8);
            waitMain();
            path=new Path();
            path.moveTo(xAxis, yAxis);
            for (int j=0; j<10;j++){
                    path.lineTo( j*75 + xAxis , j*75 + yAxis);//自动生成坐标,并画出路径
            }
        }
            private void waitMain() {
            // TODO Auto-generated method stub
                if(mainAc.startPaint[0] == 1){
                    xAxis = widthScr/2;
                    yAxis = heightScr/2;
                }else{
                    xAxis = 0;
                    yAxis = 0;
                }

        }
            @SuppressLint("DrawAllocation")
            @Override
            protected void onDraw (Canvas canvas){
                canvas.drawColor(Color.BLACK);//画布背景为黑色
                effect=new CornerPathEffect(10);//选择曲线效果
                paint.setPathEffect(effect);
                paint.setColor(Color.WHITE);
                canvas.drawPath(path, paint);

                invalidate();
            }   

        }

两activity之间切换,MyPaint就是副activity的名字

``` Intent intent = new Intent(this,MyPaint.class);
startActivity(intent);


LZ乃Android入门菜鸡,求问这bug是为啥?该怎么改?求大神指点

解决方案

mainAc=new MainActivity();这算什么呀,建议去看看基础,android开发没java基础也不行。

Intent intent = new Intent(this,MyPaint.class);
startActivity(intent);
数组在切换的时候传递

 Bundle map = new Bundle();
map.putSerializable("alistdata", new int[]{15,2,12,2});
map.putSerializable("ad",new String[]{"5","6"});
intent.putExtra("sd", map);
  对应的接收:
(int[])this.getIntent().getBundleExtra("sd").getSerializable("alistdata")
(String[])this.getIntent().getBundleExtra("sd").getSerializable("ad")

解决方案二:

http://blog.csdn.net/lsj19830812/article/details/7110028

解决方案三:

Activity之间的切换需要用Intent。

解决方案四:

楼主多看看文档,intent方法里可以绑定数据传给下一个act

时间: 2024-10-29 05:28:11

android-Android编程两activity间切换问题的相关文章

Android利用Theme自定义Activity间的切换动画_Android

大多Android系统默认Activity间的动画切换效果为,右边滑入,左边滑出:有时候我们的需求可能是要求所有Activity的切换为淡入淡出的效果,这时候就可能需要改变一下默认的切换风格. 下面开始实现: 首先在res文件夹下建立anim文件夹,然后在里面建立fade_in.xml和fade_out.xml两个动画资源 fade_in.xml <?xml version="1.0" encoding="utf-8"?> <alpha xmlns

Android实现Activity界面切换添加动画特效的方法_Android

本文以实例形式展示了Android实现Activity界面切换添加动画特效的方法,对于Android程序设计人员来说有很好的参考借鉴价值.具体方法如下: 了解Android程序设计的人应该知道,在Android 2.0之后有了overridePendingTransition(),其中里面两个参数,一个是前一个activity的退出,另一个activity的进入. 现看看下面这段示例代码: @Override public void onCreate(Bundle savedInstanceSt

Android编程实现横竖屏切换时不销毁当前activity和锁定屏幕的方法_Android

本文实例讲述了Android编程实现横竖屏切换时不销毁当前activity和锁定屏幕的方法.分享给大家供大家参考,具体如下: 首先在Mainifest.xml的Activity元素中加入android:configChanges="orientation|keyboardHidden"属性 <activityandroid:name=".FileBrowser"android:label="@string/app_name"android:

Android高级编程笔记(四)深入探讨Activity(转)

在应用程序中至少包含一个用来处理应用程序的主UI功能的主界面屏幕.这个主界面一般由多个Fragment组成,并由一组次要Activity支持.要在屏幕之间切换,就必须要启动一个新的Activity.一般的Activity都占据了整个显示屏,但可以创建成半透明或二者浮动的Activity. 一.创建Activity 通过继承Activity类可以创建一个Activity窗口,基本框架如下: 1 public class MyActivity extends Activity { 2 @Overri

android技巧:Activity间数据传递之Bundle和SharedPreferences

1.介绍 对于初学者android不同activity间的数据传输一直是一个难题,主要的解决方法主要有两种一种是用Bundle传输数据,一种是用SharedPreferences.两者的区别,一般来讲SharedPreferences用来存储轻型数据,保存在xml里,可以持久保存.反观Bundle可以传输很多中数据,但是不持久. 2.具体实现方法  Bundle 在发送方class A Bundle bundle = new Bundle(); //保存输入的信息 bundle.putStrin

Android编程中activity的完整生命周期实例详解_Android

本文实例分析了Android编程中activity的完整生命周期.分享给大家供大家参考,具体如下: android中 activity有自己的生命周期,对这些知识的学习可以帮助我们在今后写程序的时候,更好的理解其中遇到的一些错误.这篇文章很长,希望不要耽误大家的时间- 今天不会涉及太多关于activity栈的东西,主要说activity自身的生命周期 区分几个概念 1 Activity 官方解释为 "An Activity is an application component that pro

Android编程中activity启动时出现白屏、黑屏问题的解决方法_Android

本文实例讲述了Android编程中activity启动时出现白屏.黑屏问题的解决方法.分享给大家供大家参考,具体如下: 默认情况下 activity 启动的时候先把屏幕刷成白色,再绘制界面,绘制界面或多或少有点延迟,这段时间中你看到的就是白屏,显然影响用户体验,怎么消除呢? 在 Activity theme 设置style 即可 <style name="AppTheme" parent="android:Theme.Light.NoTitleBar">

Android编程单击图片实现切换效果的方法_Android

本文实例讲述了Android编程单击图片实现切换效果的方法.分享给大家供大家参考,具体如下: 新建一个Android项目,命名为FrameLayout 此实例主要操作src文件夹下的MainActivity.Java类文件和res/layout下的activity_main.xml布局文件 1.布局主页面代码activity_main.xml↓ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

Android编程将Activity背景设置为墙纸的简单实现方法_Android

本文实例讲述了Android编程将Activity背景设置为墙纸的简单实现方法.分享给大家供大家参考,具体如下: 1)代码方式 Drawable wallPaper = WallpaperManager.getInstance( this).getDrawable(); this.getWindow().setBackgroundDrawable(wallPaper); 2)XML配置 在该Activity的配置中,加上: 复制代码 代码如下: android:theme = "@android