HelloAndroid

  四大组件:Activity,Broadcast,Service和ContentProvider。

  1.Activity是最基本的Android应用程序组件,应用程序中,一个Activity通常就是一个单独的屏幕。每个Activity都被实现为一个独立的类,并且从Activity基类继承而来,Activity类会显示视图控制组件,并对事件作出响应,大多数应用程序都是有多个Activity组成的。
  2.BroadcastAndroid系统中常用的一种机制,让应用对一个外部的事件作出响应。
  3.Service一个服务是具有一个较长生命周期且没有用户界面的程序。
  4.ContentProvider应用程序能够将它们的数据保存到文件、SQLite数据库中,甚至是任何有效的设备中。当需要将应用数据与其他的应用共享时,内容提供者类实现了一组标准的方法,从而能够让其他的应用保存或读取此内容提供器处理的各种数据类型。

事件:是指在什么情况下所发生的事情。

事件源:指在什么地方发生的事件,(例如:在本次案例中所指的点击事件)。

在此次编程中,一直出现下面这样的情况,那应该如何解决呢?

<span style="font-size:14px;"> E/AndroidRuntime(983): Caused by: java.lang.ClassCastException: android.widget.EditText cannot be cast to android.widget.Button</span>

之所以出现错误,原因其实很简单,组件类型不一致。

在xml中

<resources>
    <string name="app_name">helloAndroid</string>
    <string name="action_settings">Settings</string>
    <string name="tv_namePrompt">请输入你的姓名</string>
    <string name="<span style="color:#ff0000;">btn_Click</span>">请点击我</string>
</resources>

在 MainActivity中

public class MainActivity extends Activity {
	public static final String TAG="MainActivity";
	private EditText etName;
    private Button <span style="color:#ff0000;">btnClick</span>;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取事件源
        <span style="color:#ff0000;">btnClick</span>=(Button) findViewById(R.id.btnClick);
        etName =(EditText) findViewById(R.id.etName);
        <span style="color:#ff0000;">btnClick</span>.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				String name = etName.getText().toString();
				Log.d(TAG,"name="+name);
				Toast.makeText(MainActivity.this,"hello,"+name,Toast.LENGTH_LONG).show();
			}
        	
        });
    }
}



 


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值