欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

.Net程序員玩轉(zhuǎn)Android開發(fā) - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 技術(shù)分享 >

.Net程序員玩轉(zhuǎn)Android開發(fā)

發(fā)表時(shí)間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):49


         在android開辟中,如不雅在一個(gè)線程中想更新主界面中控件顯示的數(shù)據(jù),直接給主界面控件賦值就會(huì)出現(xiàn)異常,android中為了安然起見,是不許可在線程中更新界面控件的數(shù)據(jù),碰到這種情況,我們可以應(yīng)用Handler.  Handler就是處理界面和線程間的消息傳遞,通信的組件。下面我們演示下handler處理具體的兩種辦法,下面的┞封個(gè)列子經(jīng)由過程點(diǎn)擊不合按鈕展示handler.post和handler.sendmsg兩個(gè)傳遞消息的辦法。
         [img]http://img.my.csdn.net/uploads/201501/04/1420362194_1633.png

        1. Handler.Post


                      創(chuàng)建一個(gè)handler對(duì)象和Runnable對(duì)象,經(jīng)由過程handler.post(new Runnable(){});處理來更新界面中的textview的數(shù)據(jù)

        2.Handler.sendMessage


              這個(gè)例子中,我們創(chuàng)建一個(gè)employee員工類,單擊按鈕的時(shí)刻,顯示員工的信息,經(jīng)由過程handler.sendmessage來傳遞消息和參數(shù)進(jìn)行處理


                全部代碼
                 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textViewMsg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

    <Button
        android:id="@+id/btnpost"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="handler post" />

    <Button
        android:id="@+id/btnmsg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="handler message" />
    
</LinearLayout>


package com.example.helloword;



import android.R.string;
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.SimpleAdapter;
import android.widget.TextView;

public class HandlerActivity extends Activity {

	
	private TextView tv;
	
	private Button btnpost;
	
	private Button btnmsg;
	
	private Handler handler=new Handler();//post處理handler
	
	//sendmsg處理handler
	private Handler handlerTwo=new Handler(){
		
		public void handleMessage(Message msg) {
			
			switch (msg.what) {
			case 0:
				tv.setText("姓名:"+((employee)msg.obj).name);
				break;
			
			}

		}
	};
	
	protected void onCreate(Bundle savedInstanceState) 
	{
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.handlerlayout);
		tv=(TextView)findViewById(R.id.textViewMsg);
		
		btnpost=(Button)findViewById(R.id.btnpost);
		btnmsg=(Button)findViewById(R.id.btnmsg);
		
		btnpost.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				Thread thread=new Thread(new Runnable()
				{

					@Override
					public void run() {
						// TODO Auto-generated method stub
						handler.post(runOne);
					}
				}
				);
				
				thread.start();
			}
		});
		
		
		btnmsg.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				Thread thread=new Thread(new Runnable()
				{
					@Override
					public void run() {
						// TODO Auto-generated method stub
						Message msg=new Message();
						msg.arg1=1;
						
						employee employeeone=new employee();
						employeeone.name="員工1";
						employeeone.age=20;
						msg.obj=employeeone;
						msg.what=0;
						
						handlerTwo.sendMessage(msg);
					}
				}
				);
				
				thread.start();
			}
		});
	
	}
	
	
    Runnable  runOne=new Runnable(){
		@Override
		public void run() {
			// TODO Auto-generated method stub
			tv.setText("正在履行handler post");
		}
    };
    
    
    public class employee
    {
    	  public String name;
    	  public int age;
    }
}






相關(guān)案例查看更多