`
daikainan
  • 浏览: 200646 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Android游戏开发学习(4)--界面的切换的两种方式

阅读更多

在写这两个例子的时间特别郁闷,开始以为EditText.getText()获得是字符串呢?就直接放进Intent中传给第二个Activity了,结果一直获得都是null。

 

还来终于发现了EditText.getText()返回的不是字符串,原来是Editable对象。

 

 

intent.putExtra("name", et.getText() );

intent.getStringExtra("name");//获得是为null

intent.getCharSequenceExtra("name")//可以正常获得所输入值

 

----------------------------------------------------------------------------------------------------------------------------------

 

intent.putExtra("name", et.getText().toString() );

intent.getStringExtra("name");/可以正常获得所输入值

intent.getCharSequenceExtra("name")//可以正常获得所输入值

 

 

----------------------------------------------------------------------------------------------------------------------------------

 

在android实现界面的切换有两种方式

1.就是两个Activity切换

   首先创建两个Activity,然后在AndroidManifest.xml中注册,最后在一个Activity中调用另一个Activity

 

public class Activity01 extends Activity {
	EditText et;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main01);   
        et=(EditText)findViewById(R.id.t1);
    }
   
    public void submit(View view){
    	System.out.println(et.getText());
    	Intent intent=new Intent();
    	intent.putExtra("name", et.getText().toString());
    	intent.setClass(Activity01.this, Activity02.class);
    	Activity01.this.startActivity(intent);
    	
    }
    public void submitByBundle(View view){
    	Intent intent=new Intent();
    	//使用Bundle
    	Bundle b=new Bundle();
    	b.putString("name", et.getText().toString());
    	intent.putExtras(b);
    	intent.setClass(this, Activity02.class);
    	startActivity(intent);
    }
    
}

 

public class Activity02 extends Activity {
	TextView tv;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main02);
        Intent intent=getIntent();
        tv=(TextView)findViewById(R.id.t2);
        tv.setText("你输入的信息是:"+intent.getStringExtra("name"));  
    }
}
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="输入信息:" />

    <EditText
        android:id="@+id/t1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="确定"
        android:onClick="submit"
         />
    
       <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="确定使用Bundle"
        android:onClick="submitByBundle"
         />

</LinearLayout>
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/t2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />

</LinearLayout>
 

别忘了注册第二个Activity

 

        <!-- 注册Activity02 -->
        <activity  android:name=".Activity02"></activity>
 

 

2.就是在一个Activity中切换他们的布局文件时间,这样可以再同一类共享数据

 

 setContentView(布局文件1);在点击事件中加入setContentView(布局文件2);

 

public class ActivityTest2Activity extends Activity {
    private String name="";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main01);
    }
    
    public void submit(View view){
    	//在布局1中获得你输入的内容并保在name中
    	EditText et=(EditText)findViewById(R.id.t1);
    	name=et.getText().toString();
    	//把当前Activity布局设置为02
    	setContentView(R.layout.main02);
    	TextView tv=(TextView)findViewById(R.id.t2);
    	tv.setText("你输入的名字:"+name);
    }
    
}

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="输入信息:" />

    <EditText
        android:id="@+id/t1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="adasd"
         >
		
        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="确定"
        android:onClick="submit"
         />
</LinearLayout>
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/t2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />

</LinearLayout>
 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    新版Android开发教程.rar

    Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商...

    android开发资料大全

    Android3D游戏开发付费视频教程共享(更新第四集) 史上最全示例Android教学视频,非常值得观看 Android游戏开发系列源码+CHM+书籍截图+目录】 Android developer guide中文翻译文档 Android开发开发技巧之 EditText...

    Android开发资料合集-World版!

    4.5.2、menu实现的两种方法 58 4.5.3、自定义MENU背景 62 4.5.4、触发menu 64 4.5.5、Context Menu和Options Menu菜单的区别 64 4.5.6、Context menus for expandable lists 64 4.6、LISTVIEW 66 4.6.1、ListView...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--监听之单击监听的两种定义 |--监听之双击监听 |--监听之电话状态监听 |--监听之触摸监听 |--短信之根据id删除及查询短信 |--短信发送小demo |--短信的截取 |--系统之SD卡清理 |--系统之获取所有开机启动应用 |--...

    Android仿淘宝切换商品列表布局效果的示例代码

    最近电商项目中有这样一个需求,就是在进入商品列表界面,有一个按钮可以切换商品列表的布局(网格或者垂直列表排列)。 效果图: 上面两幅图分别是点击右上角按钮后显示两种不同布局的效果。简单的流程可以概括...

    android实现图片闪烁动画效果的两种实现方式(实用性高)

    其实实现这种动画效果有很多种方法,最常见的是两种:第一种就是插入n张图片进行切换已达到如此目的,第二种就是通过改变一张图片的透明度来达到闪烁的效果。下面就分别讲一下通过这两种方法如何实现。 第一种:...

    Android入门到精通源代码.

    3.3 Activity的两种界面设计方式 3.3.1 基于XML的界面设计 3.3.2 基于代码的界面设计 3.4 应用实例:在界面中显示图片 第4章 Android人机界面和常用组件 4.1 用户人机界面元素分类 4.1.1 视图组件(View) 4.1.2 ...

    夜间模式 切换 渐变 Demo 两种方式

    全局的悬浮窗因权限不一定达到效果 增加中间层Activity方式处理 对于界面中动态触发缠身的界面效果,需要保存相应的标记值,重建Activity时进行处理

    Android实例源码-应用启动应用退出&网络判断类安卓源代码(12例).zip

    Android实例源码-应用启动应用退出&网络判断类安卓源代码(12例) 3G和wifi的切换监听 android 在线更新示例代码 ...返回键退出程序的两种方式 闪屏加退出提示应用 隐藏安装包图标使用其他应用启动本应用

    unity2d 游戏开发资源 unity2d 游戏开发资源

    本书教学由浅入深,采用较为流行的 C# 作为主要的开发语言,由于目前正处于 Unity 4 和 5 的转换期,因此每个章节的范例都附有 Unity 4 和 Unity 5 两种版本,供本书的学生或者学习人员按照安装的版本自行选择练习...

    Android代码-韵音乐播放器

    支持定时停止播放和主题模式切换,主题模式现只有白天和夜晚两种模式。 由于对在线播放逻辑编写的比较仓促,因此本应用需要在联网的情况下才能正常播放。后续有待改进。 关于 音乐播放器所有素材均来自iconfont 。...

    Android代码-基于安卓原生的框架的音乐播放器

    支持定时停止播放和主题模式切换,主题模式现只有白天和夜晚两种模式。 由于对在线播放逻辑编写的比较仓促,因此本应用需要在联网的情况下才能正常播放。后续有待改进。 关于 音乐播放器所有素材均来自iconfont 。...

    详解Android的Splash启动图的两种动态切换方式

    本篇文章主要介绍了详解Android的Splash启动图的两种动态切换方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    1.2.4 Android移动Web项目开发的三种解决方案:Native, Web和Hybrid优缺陷分析 4 1.2.5国内外应用现状 6 1.2.6 研究现状总结 7 1.3研究目标与内容 7 1.3.1多窗口浏览器模式的实现机制 7 1.3.2跨域交互即缓存处理方法...

    Android项目设计与开发:活动的跳转1.ppt

    嵌入式Android项目设计与开发 第三章 活动 ——活动的跳转(1) 概念 一个应用程序一般会包含若干个活动 概念 如何建立活动? 概念:活动间的切换称为活动的跳转 了解:切换来源于哪个活动,切换的目标是哪里 概念 ...

    Android Activity在GridView和ListView之间切换使用一个布局实现的方法

    对于一个界面,如果需要设计GridView和ListView两种方式来显示一个列表可以共用一个Adapter和一个布局来实现,这样既可以避免冗余的代码,也使整个处理过程变得更加简单。 4. 通过控制isGridView标签来控制页面的...

    Android俄罗斯方块课程设计报告.docx

    一些有趣的桌面游戏已经成为人们在使用计算机进行工作或学习之余休闲娱乐的首选,而俄罗斯方块游戏是人们最熟悉的小游戏之一,它以其趣味性强,易上手等诸多特点得到了大众的认可,因此开发此游戏软件可满足人们的...

Global site tag (gtag.js) - Google Analytics