Android中Intent的注意事项
Android中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);
- }
- }
- }
- 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 +"");
- }
- }
- <?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>
- <?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>
评论暂时关闭