package com.nuist.org;import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;public class HandlerTextActivity extends Activity {
    /** Called when the activity is first created. */

private MyText myText;
TextView text01;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        text01= (TextView)findViewById(R.id.text01);
        myText =  new MyText(this,myHandler);
    }
    
    
    public void onStart(){
     Log.v("HandlerTextActiviy","MyText--------------------");
     //myText =  new MyText(this,myHandler);
    }
    
    
    private final Handler myHandler= new Handler(){
     public  void  handleMessage(Message message){
     if(message.what==1){
        //showToast(message);
         text01.setText(message.obj.toString());
     }
    
     }
    
    };
    
    
//    public void showToast(Message message){
//     Toast.makeText(this, (CharSequence) message.obj,Toast.LENGTH_LONG).show();
//    }
}
-----------------------------------------------------------------------
package com.nuist.org;import android.content.Context;
import android.os.Handler;public class MyText { private  final Handler mHandler;
public MyText(Context context,Handler handler){
 mHandler= handler;
}

public void show(){

mHandler.obtainMessage(1,-1,-1,"chiwenhyu").sendToTarget();
}
}
如何把MyText中的值通过handler传递到HandlerTextActivity ,现在是报错

解决方案 »

  1.   

    Handler传递参数是同过Message这个类
      

  2.   

       public void onStart(){
            Log.v("HandlerTextActiviy","MyText--------------------");
            //myText =  new MyText(this,myHandler);
        }
    中要加上super.onStart();
      

  3.   

    现在的问题是让mHandler.obtainMessage(1,-1,-1,"chiwenhyu").sendToTarget();中“chiwenyu”的值在text01上不显示!!
      

  4.   


    你都没发消息 怎么会显示呢?myText =  new MyText(this,myHandler);
    myText.show();  
      

  5.   

    是的,你就没有调用你的show()方法,我给你测试过了,按照楼上myText.show(); 就OK了!
      

  6.   

    ...这个是java基础的问题啊!!
      

  7.   

    android开发采用了mvc模式,下边的是控制层中负责跳转的一个方法,各个Activity之间如何通过这个互相跳转????,并且与模型层的数据库相连接???。  还是改把Activity做控制类?????。
     public  void handleEvent(int eventID){
     2         switch(eventID){
     3               case  EventID.INIT:{
     4                 
     5                        break;
     6               }   
     7               //连接中转服务器
     8                case EventID.UI_INDEX_CONNECT:{
     9                   Log.v(TAG, "UIController success--------------");
    10 
    11                   myConnection= new MyConnection(model.getServerURL());
    12                   myConnection.setup(model.getServerURL());
    13                   myConnection.connect();
    14                   break;
    15                   
    16               } 
    17               //连接中转服务器失败
    18               case EventID.UI_WAIT_CANCEL:{
    19                   
    20                   myConnection.cancel();
    21                   break;
    22               }
    23               //成功连接到服务器
    24               case  EventID.CONNECT_SUCCESS:{
    25                   Log.v("UIController","------connect_success------------");
    26                   recvThread=null;
    27                   recvThread=new RecvThread(myConnection.getDis());
    28                   recvThread.start();
    29                   recvThread.go();
    30                   break;  
    31               } 
    32               //读写数据包过程中异常报错时
    33               case EventID.CONNECT_BROKEN:{
    34                   Log.v("UIController", "--------connect broken-------");
    35                   //网络出错,尝试重连
    36                   myConnection.disconnect();
    37                   if(myConnection.getDisconnectByServerFlag()==false){
    38                        //ReconnectConfirmUI reconnect= new ReconnectConfirmUI();
    39                       // reconnect.
                          这边如何返回一个抛错信息给MainInfoUI(Activity)显示出错提示框???
                            如何将值传到MainInfoUI中。

                            
    40                   }
    41                   break;
    42               } 
    43               default:
    44                   break;
    45         }先从MainInfoUI,跳转
     controller=UIController.getInstance();   controller.handleEvent(EventID.UI_INDEX_CONNECT);
    连接服务器,成功则提示框显示登入成功 ,
    //读写数据包过程中异常报错时
    case EventID.CONNECT_BROKEN:
    如何给一个提示框显示出错??
      

  8.   

    可以使用Toast Toast.makeText(this, "message", Toast.LENGTH_LONG).show();
    或用AlertDialog显示,传值可以用静态变量或用Intent传
      

  9.   

    一个普通类能用Intent往Activity类型的类中传值么??
      

  10.   

    如果Intent可以传 放在哪个类里传有区别吗,网上很多例子 你先用一下。