• 安卓Intent(显式)


        1、Intent是Android程序中各组件之间交互的重要方式,一般可用于启动活动、启动服务、以及发送广播等场景,这里先对活动进行说明Intent的一些作用。

        2、Intent的用法大致可分为,显式Intent和隐式Intent,本文针对显示的Intent进行简单的说明。

        3、Intent有多个构造函数的重载,其中一个是Intent(Context packageContext,Class<?>cls)。这个构造函数有两个参数,第一个参数Context要求提供一个启动活动的上下文,第二个参数Class则是制定要启动的目标活动。通过这个构造函数可以构建出Intent的意图,然后用Activity类中提供了一个startActivity()的方法。举例如下:

    新建项目myIntent,添加secondActivity类,里面添加代码:

    public class secondActivity extends Activity {
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.two_activity);
    	}
    
    }
    

     同时添加一个two_activity.xml文件。添加一个一个按钮,

     <Button 
            android:id="@+id/button2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Welcome"/>
        
    

    在activity_main.xml添加一个跳转按钮:

        <Button 
            android:id="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Click me"/>
    

     最后在MainActivity.java中添加单击setOnClickListener()方法:

    public class MainActivity extends Activity {
    	
    	private Button btn1;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		
    		btn1=(Button)findViewById(R.id.button1);
    		btn1.setOnClickListener(new OnClickListener() {
    			
    			@Override
    			public void onClick(View arg0) {
    				// TODO Auto-generated method stub
    			Intent intent=new Intent(MainActivity.this,secondActivity.class);
    			startActivity(intent);
    			}
    		});
    	}
    
    	
    }
    

       这时候在手机上查看应用会发现无法跳转到第二个活动,问题在于,每一个活动都需要在AndroidManifest.xml中进行注册,在AndroidManifest.xml的<application></application>添加<activity android:name=".secondActivity"></activity>保存后继续运行即可。

  • 相关阅读:
    hdu 2044 一只小蜜蜂
    HDU 2041 超级楼梯
    卡特兰数
    hdu 1267 下沙的沙子有几粒?(二维递推题)
    大数加法、乘法
    学习时仪式感太强是不是不太好
    php记日志
    cygwin安装apt-cyg
    存储过程死循环之后的清理
    linux的计划任务crontab
  • 原文地址:https://www.cnblogs.com/wynet/p/5482081.html
Copyright © 2020-2023  润新知