安卓开发,如何在ECLIPSE中,为一个按钮 建立点击事件的框架步骤?具体点,初学

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓开发,如何在ECLIPSE中,为一个按钮 建立点击事件的框架步骤?具体点,初学相关的知识,希望对你有一定的参考价值。

参考技术A 步骤总结一下:
1. 新建一个工程Calc;
2. 双击主窗口 res->layout->activety_main.xml 前面的小图标,
出现Graphical Layout可视化界面,拖上 控件 button,并修改对象名称,这有点类似于可视化IDE; 控件对象的初始参数就在资源中;
3. 手工添程序到 src-->MainActivety.java,四个步骤:
a.添 控件所涉及的import 头;
b.定义对象 button 于主类中;
c. 在onCreate()方法中,将控件对象与资源id参数关联上;
d.写button的事件代码,并与控件button关联上;

package com.example.calc;

import android.view.View.OnClickListener; // Click事件包
import android.widget.Button; // Button包

public class MainActivity extends Activity
Button button; // 定义控件
OnClickListener listener=null; // Click事件定义
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//---------------------------------------------------------
button=(Button)findViewById(R.id.button);
// 对象与资源中属性参数关联上
listener=new OnClickListener()
public void onClick(View v)
// Click事件处理代码

;
button.setOnClickListener(listener); // 事件与Button关联上
// onCreate()
本回答被提问者采纳

安卓页面的跳转(按钮点击跳转自动跳转)

一.创建新页面

在eclipse中建立安卓工程后,默认会有一个页面MainActivity,要实现多个页面的跳转,首先需要建立新的页面
在eclipse建立新的页面过程如下:
要添加的新页面的工程下src 右键---->New—>Other—>选择Android下的Android Activity
在这里插入图片描述
选择next下一步
在这里插入图片描述
按照需求选择后点击next:
在这里插入图片描述
为新页面取名后点击完成,完成新页面的创建

二、安卓页面点击跳转

1.实现点击按钮实现页面跳转

要实现点击按钮实现页面跳转,需要进行安卓按键的响应,安卓按键响应的几种方式见安卓按键响应的方式

这里运用了在xml中设置按键的onClick绑定的函数这一方法。
activity_main_xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
	
    <Button
        android:id="@+id/button1" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="跳转到第二个界面"
                      // 按键响应
        android:onClick="GoSecond"
        />
    
    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="第一个界面"
		android:layout_below="@id/button1"
		android:layout_marginTop="50dp"
         />

</RelativeLayout>

MainActivity.java:

package com.example.heavysea.l;

//import android.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	public void GoSecond(View v){
		// Intent 去设置要跳转的页面
		Intent intent = new Intent(this,SecondActivity.class);
		// 进行跳转
		startActivity(intent);
	}
}

实现效果:点击button,从MainActivity跳转到SecondActivity

2.跳转过程中传参

在MainActivity中将数据传递给SecondActivity,使得SecondActivity获取数据:

MainActivity.java

package com.example.heavysea.l;

//import android.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	public void GoSecond(View v){
		// Intent 去设置要跳转的页面
		Intent intent = new Intent(this,SecondActivity.class);
		// 设置要传递给页面二的参数   设置键值对
		intent.putExtra("mydata", "来自页面MainActivity");
		// 进行跳转
		startActivity(intent);
	}
}

SecondActivity.java:

package com.example.heavysea.l;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class SecondActivity extends Activity {
	private String data;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
		// 获取参数
		Intent i = this.getIntent();
		data = i.getStringExtra("mydata");
		System.out.println(data);
		// 以弹框显示获取到的数据
		Toast.makeText(this, data,0).show();
	}

	public void GoThird(View v){
		Intent intent = new Intent(this,ThirdActivity.class);
		startActivity(intent);
	}

}

三、设置页面几秒后自动跳转

1.页面几秒后自动跳转

为实现页面在几秒后的自动跳转,最直接的思路就是运用sleep方法设置暂停的时间,再进行跳转。但实际上sleep方法是发生在UI线程中的,会使原本不断刷新的UI暂停,最终运行的效果是看不到第一个页面的,直接跳转到第二个页面。因此需要另外启动一个线程,在新线程中运用sleep方法。
为此需要引入java线程。

MainActivity.java

package com.example.heavysea.l;

//import android.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// 需要另外启动一个线程 在新线程里面去sleep
		// 不要在UI线程中sleep UI被sleep会暂停刷新
		Thread t = new Thread(new Runnable() {

			@Override
			public void run() {
				// TODO Auto-generated method stub
				try {
					Thread.sleep(3000);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				Intent intent = new Intent(MainActivity.this,
						SecondActivity.class);
				intent.putExtra("mydata", "来自页面一");
				startActivity(intent);
			}
		});
		
		// 开启线程
		t.start();

	}

}

SecondActivity.java

package com.example.heavysea.l;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class SecondActivity extends Activity {
	private String data;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
		// 获取参数
		Intent i = this.getIntent();
		data = i.getStringExtra("mydata");
		System.out.println(data);
		Toast.makeText(this, data,0).show();
		
	}

以上是关于安卓开发,如何在ECLIPSE中,为一个按钮 建立点击事件的框架步骤?具体点,初学的主要内容,如果未能解决你的问题,请参考以下文章

安卓页面的跳转(按钮点击跳转自动跳转)

如何在eclipse中开发android程序

怎么用eclipse去编写一个计算器?

eclipse的安卓虚拟机如何把手机内存调大一点?

怎么用eclipse做一个界面点击按钮就可以跳转到另一个界面的代码

怎么在eclipse中安装安卓开发环境