日期:2014-05-16  浏览次数:21184 次

MONO 中线程操作UI
MONO 调用一个线程操作UI 然后报Only the original thread that created a view hierarchy can touch its views。错误 google了一下说UI的操作还是需要到主线程,看了些java的例子 但是在MONO中需要怎么实现 多谢各位了

这是一个java的解决方案 在Mono中Handler大概需要怎么实现

public class MasterActivity extends Activity {  
    TextView tv = null;  
    Button btn = null;  
      
    Handler mHandler = new Handler() {  
        @Override  
        public void handleMessage(Message msg) {  
            if(msg.what == 1) {  
                tv.setText("update UI is success!");  
                btn.setText("update UI is success!");  
            }  
            super.handleMessage(msg);  
        }  
    };  
      
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        System.out.println(Thread.currentThread().getName() + ": " + Thread.currentThread().getId());  
        tv = (TextView)findViewById(R.id.text);  
        btn = (Button)findViewById(R.id.btn);  
        btn.setOnClickListener(new OnClickListener() {  
              
            @Override  
            public void onClick(View v) {  
                Thread thread = new Thread(new Runnable() {  
                      
                    @Override  
                    public void run() {  
                        System.out.println(Thread.currentThread().getName() + ": " + Thread.currentThread().getId());  
             &