一、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民工。我们有他们所拥有的思维模式和能力,我们还有他们或许今生也无法触及喝理解的神奇的技术。
祝我所有的朋友,都能拥有一个很美好的生活,能融入一个很好的团队,能组建一个很幸福的家庭。