一、CheckBox多选项的创建
mCheckBox1 = (CheckBox) findViewById(R.id.myCheckBox1);
/* 设定OnCheckedChangeListener给三个CheckBox对象 */
mCheckBox1.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if(isChecked == true){
toast(buttonView.getText().toString());
}
else{
toast("未选中" + buttonView.getText().toString());
}
}
});
public void toast(String str) {
Toast.makeText(CheckBoxNew.this, str, Toast.LENGTH_LONG).show();
}
1. Handler 有原理队列
2. main.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button_1"
android:text="first"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button_2"
android:text="stop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
2. 代码实现
package com.android.handler.activity;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
*
* @author liuqing
* @version 1.0
* @see Handler 的使用
*
*/
public class Android_chapter14handlerActivity extends Activity {
//开始按扭
private Button button_1;
//停止按扭
private Button button_2;
//消息队列
private Handler handler = new Handler();
Runnable postRunnable = new Runnable(){
@Override
public void run() {
System.out.println(" enter successfully...");
handler.postDelayed(postRunnable, 3000);
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.button_1 = (Button) this.findViewById(R.id.button_1);
this.button_2 = (Button)this.findViewById(R.id.button_2);
this.button_1.setOnClickListener(new ButtonFirstListener());
this.button_2.setOnClickListener(new ButtonSecondListener());
}
private class ButtonFirstListener implements OnClickListener {
@Override
public void onClick(View v) {
handler.post(postRunnable);
}
}
private class ButtonSecondListener implements OnClickListener {
@Override
public void onClick(View v) {
handler.removeCallbacks(postRunnable);
}
}
}
3. 使用Handler 实现进度条
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ProgressBar
android:id="@+id/progreebar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/start"
android:text="@string/start"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
package com.handler.progreebar.activtiy;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
/**
*
* @author liuqing
* @version 1.0
* @see Handler 的使用
*
*/
public class Android_chapter14handlerProgreeBarActivity extends Activity {
private ProgressBar progressBar;
private Button start;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
progressBar.setProgress(msg.arg1);
handler.post(runnable);
}
};
Runnable runnable = new Runnable(){
private int a;
@Override
public void run() {
a += 10;
//Obtain 获得Message
Message message = handler.obtainMessage();
//设置参数
message.arg1 = a;
try {
Thread.sleep(2000);
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//发送消息
handler.sendMessage(message);
if (a >= 100) {
System.out.println("exits !");
handler.removeCallbacks(runnable);
}
}};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
progressBar = (ProgressBar)findViewById(R.id.progreebar);
progressBar.setVisibility(0);
this.progressBar.setMax(100);
this.start = (Button)findViewById(R.id.start);
start.setOnClickListener(new StartListener());
}
private class StartListener implements OnClickListener {
@Override
public void onClick(View v) {
//加入到队列中
handler.post(runnable);
}
}
}
运行结果
创业的路其实很难,技术人员创业成功的更是很少,原因到底在哪里?我也在苦苦寻找。
这么几年,自己真的是痛并快乐着,没有学历,没有牛B的技术,没有大把的资金,没有资源。我们创业到底可以干什么?难道无路可走了吗?
我不知道,仅此在这个周围朋友都不知道的地方,写下自己的记录。
昨天看了一下几年前自己写的博客记录,现在真的笑了,笑我那个时候的傻,那个时候的稚嫩。
前几日又给自己写了一点记录,我并不想秀什么,工作只是生活的一部分。但是我们想要什么样的生活,每个人都得考虑清楚。 或许我还会继续失败,但是我一定会准备好再次创业的路。30了,我依然未婚,不是我不想要一个家,要一个爱人。只是自己想要的生活并非那么平淡。有时候经常跟朋友开玩笑,我们这次要是输了怎么办。。。我们都说,那就当做老了给儿孙讲故事的素材吧。让他们不要重复我们的失败。让下一代人完成我们的心愿。
我们很年轻,但是我们确实很稚嫩。我们需要有年轻人应该有的激情,应该有的狼性,在这个弱肉强食的社会和年代,拼出属于自己的事业。
所有的事情,在没有成功之前其实都是不靠谱的。
所有的梦想,在没有成功之前都只是梦想。
但是我觉得我们还是要学会动起来,最起码,我们做过了,输了,失败了,我们会得到一个答案。人或许就是在这样一个不停重复的过程中成长的。
昨天跟一个东北的老大哥聊了6个小时,谈起他创业的过程,我从他的脸上看到了久违的激情。好像某个名人也说过,创业中的人是可爱的。在不工作的时候,自己坐在这里,有时候想想其实确实挺傻,挺可爱的。
所有的技术行业的朋友都很辛苦。但是我不认为我们就一定是人们所说的IT民工。一个只会像木乃伊一样,按照别人的思维去敲字母。
我们技术行业的朋友应该更加疯狂,更加有激情,有幽默感,有神秘感。善于沟通,善于思考,善于行动。
怀念曾经不分昼夜坐在电脑前的日子,因为那个时候真的很单纯,计算机很听话,也没有欺骗,没有城府,没有计谋,它只会按照我们的指令做事。
我们懂技术,或许今天我们是传说中的菜鸟,但是我们善于提问,不耻下问,几年后我们会成为技术高手。
但是一个技术高手的生命周期到底有多久呢?每个人的答案或许不同吧。技术在飞速的发展,大脑在飞速的老化,体能在飞速的降低。。。
我们要依靠技术,但是我们不能沉迷技术,因为生活中还有很多比技术更为抽象的东西。技术永远只是在为别人服务,所以我们更要认识和结交很多技术圈外的朋友,让他们的思想来帮我们提升,并向他们证明,我们不是一个只会写代码的IT民工。我们有他们所拥有的思维模式和能力,我们还有他们或许今生也无法触及喝理解的神奇的技术。
祝我所有的朋友,都能拥有一个很美好的生活,能融入一个很好的团队,能组建一个很幸福的家庭。