在写这两个例子的时间特别郁闷,开始以为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应用开发中,提供夜间模式是提升用户体验的重要方式之一。传统的实现夜间模式通常需要重启Activity,这可能导致界面闪烁,影响用户体验。而“Android-skin-sprite”库提供了一种无需重启Activity就能实现...
总的来说,"android-flip切换界面的翻转动画效果"项目提供了一种在Android应用中实现翻转界面的解决方案,通过源码学习,开发者不仅可以掌握翻转动画的实现,还能深入了解Android动画机制,提升自己的开发技能。...
在Android中,我们通常使用两种主要的布局管理器:LinearLayout和RelativeLayout。LinearLayout按照垂直或水平方向线性地排列其子视图,而RelativeLayout则允许更复杂的相对定位。 在描述中提到的代码段中,我们...
通过以上分析,我们可以看出Android界面切换可以通过`setContentView`和启动新Activity两种方式进行,而与服务器端的通信则主要依赖于HTTP协议,尤其是GET和POST两种方式的应用。这些基础知识对于开发高质量的...
首先,Android游戏开发通常基于Java或Kotlin语言,这两种语言都是Android平台的官方支持语言。Kotlin以其简洁的语法和强大的功能近年来变得越来越流行。因此,源代码中很可能包含了这两种语言中的至少一种,开发者...
在Android开发中,实现界面皮肤切换的...总的来说,实现Android界面皮肤切换涉及对Android资源管理机制的深入理解和代码的灵活运用。通过合理的设计和编程,可以让用户在不重启应用的情况下,享受到个性化的界面风格。
总之,Android界面切换效果的实现涉及Activity、Intent、动画资源、Transition API等多个方面,开发者可以通过灵活运用这些工具,为用户提供更加流畅、美观的界面交互体验。在设计时,应兼顾功能性和美观性,使界面...
在Android应用开发中,界面间的跳转是必不可少的操作,它使得用户可以在不同的功能之间自由切换。本篇文章将详细探讨两种主要的界面跳转方法:`startActivity(Intent)`和`startActivityForResult(Intent, int)`。 ...
在Android应用开发中,Fragment是Android SDK中的一个重要组件,它允许开发者在单个活动中管理和展示多个界面。Fragment动画效果则是提升用户体验、增加应用交互性的一种重要手段。本资源"Android--开发--Fragment...
在本项目中,可能结合了这两种方式,当用户点击特定的圆形按钮时,会触发图片的切换。 按钮联动效果意味着不同按钮之间存在某种交互关系,例如,点击一个按钮可能会改变其他按钮的状态或者触发一系列的操作。这通常...
- **主题设置**:说明了如何更改IDE的主题,包括深色和浅色两种模式。 ##### 5. **创建Android虚拟设备(AVD)** - **关于Android Virtual Devices**:解释了什么是Android虚拟设备(AVD),以及它们在测试和调试...
它通常包含两个或更多的按钮,每个按钮代表一种不同的功能或状态,用户可以轻松切换。 【描述】"android-segmented-control-view.zip" 的描述提示我们,这个压缩包可能包含了一个实现分段控制器视图的开源项目。...
总结,Android Studio中的界面切换和参数传递是Android应用开发的基本技能。理解并熟练运用Intent和Bundle,能有效提升应用的用户体验和功能实现。同时,进行充分的测试也是确保应用质量的关键步骤。通过不断实践和...
通过分析和学习这个源码,开发者可以加深对Android界面设计和交互的理解,提升自己的开发技能。同时,这也是一个很好的实践案例,有助于将理论知识转化为实际应用。在阅读源码时,注意代码的组织结构、命名规范以及...
Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商...
在Android开发中,图片切换特效是提升用户体验的重要一环,特别是在设计用户界面或者制作动态壁纸时。本资源“android150种图片切换特效”提供了一套丰富的视觉效果,用于展示图片之间的过渡动画。虽然没有提供源...
在Android应用开发中,选项卡(TAB)切换功能是用户界面设计中常见且重要的部分,它可以帮助用户在多个视图之间轻松导航。本项目提供了两种不同的实现方式来创建TAB选项卡切换,使得开发者可以根据需求选择适合的...
通过分析这些文件,可以学习到如何实际应用上述概念和技术,从而在自己的项目中实现类似的3D界面切换效果。 总的来说,创建Android 3D切换界面效果是一个涉及动画原理、视图组件和动画资源管理的综合过程。通过巧妙...