加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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>  


(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读