`
daikainan
  • 浏览: 201885 次
  • 性别: 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-flip切换界面的翻转动画效.zip

    总的来说,"android-flip切换界面的翻转动画效果"项目提供了一种在Android应用中实现翻转界面的解决方案,通过源码学习,开发者不仅可以掌握翻转动画的实现,还能深入了解Android动画机制,提升自己的开发技能。...

    Android应用开发-摄像头监控界面开发.pptx

    在Android中,我们通常使用两种主要的布局管理器:LinearLayout和RelativeLayout。LinearLayout按照垂直或水平方向线性地排列其子视图,而RelativeLayout则允许更复杂的相对定位。 在描述中提到的代码段中,我们...

    Android界面切换与网络通信

    通过以上分析,我们可以看出Android界面切换可以通过`setContentView`和启动新Activity两种方式进行,而与服务器端的通信则主要依赖于HTTP协议,尤其是GET和POST两种方式的应用。这些基础知识对于开发高质量的...

    android游戏开发实例源代码

    首先,Android游戏开发通常基于Java或Kotlin语言,这两种语言都是Android平台的官方支持语言。Kotlin以其简洁的语法和强大的功能近年来变得越来越流行。因此,源代码中很可能包含了这两种语言中的至少一种,开发者...

    Android切换界面皮肤代码

    在Android开发中,实现界面皮肤切换的...总的来说,实现Android界面皮肤切换涉及对Android资源管理机制的深入理解和代码的灵活运用。通过合理的设计和编程,可以让用户在不重启应用的情况下,享受到个性化的界面风格。

    android 界面切换效果

    总之,Android界面切换效果的实现涉及Activity、Intent、动画资源、Transition API等多个方面,开发者可以通过灵活运用这些工具,为用户提供更加流畅、美观的界面交互体验。在设计时,应兼顾功能性和美观性,使界面...

    Android-skin-sprite另一种不重启Activity切换Android夜间模式的库

    在Android应用开发中,提供夜间模式是提升用户体验的重要方式之一。传统的实现夜间模式通常需要重启Activity,这可能导致界面闪烁,影响用户体验。而“Android-skin-sprite”库提供了一种无需重启Activity就能实现...

    Android中界面间的跳转(两种方式)

    在Android应用开发中,界面间的跳转是必不可少的操作,它使得用户可以在不同的功能之间自由切换。本篇文章将详细探讨两种主要的界面跳转方法:`startActivity(Intent)`和`startActivityForResult(Intent, int)`。 ...

    Android--开发--Fragment动画效果.rar

    在Android应用开发中,Fragment是Android SDK中的一个重要组件,它允许开发者在单个活动中管理和展示多个界面。Fragment动画效果则是提升用户体验、增加应用交互性的一种重要手段。本资源"Android--开发--Fragment...

    安卓手绘图片处理画板相关-Android-Material-circular-button图片切换和按钮联动效果.rar

    在本项目中,可能结合了这两种方式,当用户点击特定的圆形按钮时,会触发图片的切换。 按钮联动效果意味着不同按钮之间存在某种交互关系,例如,点击一个按钮可能会改变其他按钮的状态或者触发一系列的操作。这通常...

    Android Studio 3.0 Development Essentials - Android 8 Edition

    - **主题设置**:说明了如何更改IDE的主题,包括深色和浅色两种模式。 ##### 5. **创建Android虚拟设备(AVD)** - **关于Android Virtual Devices**:解释了什么是Android虚拟设备(AVD),以及它们在测试和调试...

    android-segmented-control-view.zip

    它通常包含两个或更多的按钮,每个按钮代表一种不同的功能或状态,用户可以轻松切换。 【描述】"android-segmented-control-view.zip" 的描述提示我们,这个压缩包可能包含了一个实现分段控制器视图的开源项目。...

    Android Studio - 界面切换且双端传参

    总结,Android Studio中的界面切换和参数传递是Android应用开发的基本技能。理解并熟练运用Intent和Bundle,能有效提升应用的用户体验和功能实现。同时,进行充分的测试也是确保应用质量的关键步骤。通过不断实践和...

    Android代码-首界面和滑动界面源码.zip

    通过分析和学习这个源码,开发者可以加深对Android界面设计和交互的理解,提升自己的开发技能。同时,这也是一个很好的实践案例,有助于将理论知识转化为实际应用。在阅读源码时,注意代码的组织结构、命名规范以及...

    新版Android开发教程.rar

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

    android150种图片切换特效

    在Android开发中,图片切换特效是提升用户体验的重要一环,特别是在设计用户界面或者制作动态壁纸时。本资源“android150种图片切换特效”提供了一套丰富的视觉效果,用于展示图片之间的过渡动画。虽然没有提供源...

    android 两种TAB选项卡切换功能项目

    在Android应用开发中,选项卡(TAB)切换功能是用户界面设计中常见且重要的部分,它可以帮助用户在多个视图之间轻松导航。本项目提供了两种不同的实现方式来创建TAB选项卡切换,使得开发者可以根据需求选择适合的...

    android 3d 切换界面效果

    通过分析这些文件,可以学习到如何实际应用上述概念和技术,从而在自己的项目中实现类似的3D界面切换效果。 总的来说,创建Android 3D切换界面效果是一个涉及动画原理、视图组件和动画资源管理的综合过程。通过巧妙...

Global site tag (gtag.js) - Google Analytics