2011年8月21日学习心得,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);

		}

	}
}
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>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值