Android中Intent的谨慎事项
发布时间:2021-11-25 18:16:07 所属栏目:PHP教程 来源:互联网
导读:写了一个东西,用了两个Activity,开始无论如何都不能从一个跳转到另一个,检查了Androidmanifest,等等都查不出问题。 后来发现时在使用intent传输对象的时候,类名写错了。在内部类里把本类传到了另一个子虚乌有的什么类中。找的我晕头转向,以此希望不要
写了一个东西,用了两个Activity,开始无论如何都不能从一个跳转到另一个,检查了Androidmanifest,等等都查不出问题。 后来发现时在使用intent传输对象的时候,类名写错了。在内部类里把本类传到了另一个子虚乌有的什么类中。找的我晕头转向,以此希望不要以后再犯错误 同时也写几点今天的心得。 1,多Activity通常每一个Activity都要有一个layout文件,在setContentView的时候要注意设定成对应的layout文件 2,很多个Activity都写完了之后一定不要忘了在AndroidManifest中添加注册 3,用intent对象传输信息的时候一定要注意类名的对应。不然肯定不能成功调用Activity 4,最后不要忘了从本类中启动其他Activity 另外 所有代码开源 注:本人是看mars的视频学习的,如有版权相关问题请谅解 Activity03Activity.java package com.wzy.activity03; import android.app.Activity; import android.content.Intent; import android.database.CursorJoiner.Result; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; /* * 1,在activity 03中要声明四个控件, * 2,要为其中的两个控件设置显示的值 * 3,创建一个监听器类,监听按钮按下的动作 * 4,将监听器类的对象绑定在按钮对象上 */ public class Activity03Activity extends Activity { /** Called when the activity is first created. */ private EditText factorOne; private EditText factorTwo; private TextView symbol; private Button calculate; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); factorOne = (EditText) findViewById(R.id.factorOne); factorTwo = (EditText) findViewById(R.id.factorTwo); symbol = (TextView) findViewById(R.id.tv1); calculate = (Button) findViewById(R.id.calculate); // 添加监听 calculate.setOnClickListener(new CalListener()); } class CalListener implements OnClickListener { @Override public void onClick(View v) { // 取得空间的值——存入到intent对象中——使用intent来启动resultActivity String fOne = factorOne.getText().toString(); String fTwo = factorTwo.getText().toString(); Intent intent = new Intent(); intent.putExtra("one", fOne); intent.putExtra("two", fTwo); intent.setClass(Activity03Activity.this, ResultActivity.class); // 这里一定要注意对象传递的方式,从第一个Activity到第二个Activity Activity03Activity.this.startActivity(intent); } } } ResultActivity.java package com.wzy.activity03; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; /* * 1,接收数值 * 2,计算 * 3,输出到TextView上 */ public class ResultActivity extends Activity{ private TextView ResultView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.result); Toast.makeText(ResultActivity.this, "ResultActivity", 3); ResultView =(TextView)findViewById(R.id.result); //得到intent的值 Intent intent=getIntent(); String f1=intent.getStringExtra("one"); String f2=intent.getStringExtra("two"); //计算结果 int result=Integer.parseInt(f1)*Integer.parseInt(f2); ResultView.setText(result +""); } } main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/factorOne" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="输入第一个乘数" /> <TextView android:id="@+id/tv1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="乘以" /> <EditText android:id="@+id/factorTwo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="输入第二个乘数" /> <Button android:id="@+id/calculate" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="计算" /> </LinearLayout> result.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/factorOne" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="输入第一个乘数" /> <TextView android:id="@+id/tv1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="乘以" /> <EditText android:id="@+id/factorTwo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="输入第二个乘数" /> <Button android:id="@+id/calculate" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="计算" /> </LinearLayout> (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |