易网时代-编程资源站
Welcome
微信登录
首页
/
操作系统
/
Linux
/
Android中Intent的注意事项
写了一个东西,用了两个Activity,开始无论如何都不能从一个跳转到另一个,检查了Androidmanifest,等等都查不出问题。后来发现时在使用intent传输对象的时候,类名写错了。在内部类里把本类传到了另一个子虚乌有的什么类中。找的我晕头转向,以此希望不要以后再犯错误同时也写几点今天的心得。1,多Activity通常每一个Activity都要有一个layout文件,在setContentView的时候要注意设定成对应的layout文件2,很多个Activity都写完了之后一定不要忘了在AndroidManifest中添加注册3,用intent对象传输信息的时候一定要注意类名的对应。不然肯定不能成功调用Activity4,最后不要忘了从本类中启动其他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>
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图