我是看网页上的例子写的首先A页面中写Handler handler = new Handler();
     Runnable mTasks = new Runnable() {
       public void run() {
       myDialog = ProgressDialog.show(Stu80Activity.this, "O(∩_∩)O", "网络数据加载中,请稍后...", true);
       Intent intent=new Intent();
             intent.setClass(Stu80Activity.this,list.class);
             Bundle bundle=new Bundle();
             bundle.putString("param", param);
             intent.putExtras(bundle);
             startActivity(intent);
        }
     };
         
     //handler.postDelayed(mTasks,1000);   
      handler.post(mTasks);  
public static void closeProgressDialog() {
     myDialog.dismiss();
     }
    
然后B页面中
private static final int EVENT_TIME_TO_CHANGE_IMAGE = 100;
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
      switch(msg.what){
        case EVENT_TIME_TO_CHANGE_IMAGE:
             Stu80Activity.closeProgressDialog();
        break;
     }
}}; Message message = mHandler.obtainMessage(EVENT_TIME_TO_CHANGE_IMAGE);
        mHandler.sendMessage(message);这种写法没报错,运行出来的样子就是在A页面点击,出现一个“正在加载中”的框框,然后跳转到B页面,我发现的问题是正在加载中的旋转轮 只转动大约1厘米,,本来没什么,但是b页面调用网络数据大小不一样,  每次都是转动大约1厘米,,就感觉不正常了而且框框没有出现在B页面上,都是在A页面上出来了一下,就跳到B页面,没在B页面上停留片刻。问题出在哪里???

解决方案 »

  1.   

    你有没有认真看过我昨天回复的代码?
    你的myDialog是在AActivity中,连Activity都转到B了,还想看到什么myDialog?
    我昨天说了,A直接转到B,B中声明myDialog,首先显示它,
    再新开线程调用网络数据,完成加载后用Handler关闭自身Activity中的myDialog,
    就这么简单,我不知道你有什么想问的,帖子都发了好几个了。
      

  2.   

    1 A直接转到B
    2 B中onCreate事件声明并show你的Dialog
    3 新开线程调用网络数据
    4 完成加载后通知Handler关闭Dialog以上4步按顺序来写,有哪一步是你不会的?
      

  3.   

    http://topic.csdn.net/u/20120604/15/e5a2a43a-d174-468e-8741-78afc56139f3.html这个是我的B页面代码也就是说 步骤 2,3,4不会你看看。b页面感觉代码复杂,,没你说的那么容易吧。
      

  4.   

    就是这么容易。
    我只改了你的onCreate事件,和新增了一个Handler private Handler handler=new Handler(){
    public void dispatchMessage(android.os.Message msg) {
    switch (msg.what) {
    case 0:
    mydialog.cancel();
    break; default:
    break;
    }
    };
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mydialog = ProgressDialog.show(Stu80Activity.this, "加载中...",
    "请稍等片刻...", true);
    new Thread() {
    public void run() {
    try {
    // 涉及到网络访问的操作,用多线程来实现
    items = getItems(1);
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    //最终通知handler关闭mydialog
    handler.sendEmptyMessage(0);
    }
    }
    }.start();
    ls = (ListView) findViewById(R.id.ls);
    ls.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    long arg3) {
    TextView ls_id_i = (TextView) arg1.findViewById(R.id.ls_id); /*
     * Toast.makeText(getApplicationContext(), ls_id_i.getText(),
     * Toast.LENGTH_SHORT).show();
     */
    Intent intent = new Intent();
    intent.setClass(Stu80Activity.this, content.class);
    Bundle bundle = new Bundle();
    bundle.putString("id", ls_id_i.getText().toString());
    intent.putExtras(bundle);
    startActivity(intent);
    }
    });
    bt1 = (Button) findViewById(R.id.bt1);
    bt2 = (Button) findViewById(R.id.bt2);
    bt1.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
    if (num > 0) {
    num--;
    }
    display(items_m);
    }
    });
    bt2.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
    if (num * 12 < items_m.size()) {
    num++;
    }
    display(items_m);
    }
    }); items_m = items;
    display(items); // 添加Spinner事件监听
    Spinner sp = (Spinner) findViewById(R.id.sp);
    ArrayAdapter ada = ArrayAdapter.createFromResource(this, R.array.list,
    android.R.layout.simple_spinner_item);
    ada.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    sp.setAdapter(ada);
    // 定义子元素选择监听器
    sp.setSelection(0, false);
    sp.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view,
    int position, long id) {
    // Toast.makeText(Stu80Activity.this,"选择的色彩: " +
    // parent.getItemAtPosition(position).toString(),
    // Toast.LENGTH_LONG).show();
    String pos = parent.getItemAtPosition(position).toString();
    // TextView tv=(TextView) findViewById(R.id.logotitle);
    // tv.setText(pos);
    pos = pos.substring(0, 2);
    jump(pos);
    } @Override
    public void onNothingSelected(AdapterView<?> parent) {
    }
    });
    }
      

  5.   

    失败,报错
    package org.stu80;import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.ProgressDialog;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.view.KeyEvent;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.AdapterView.OnItemClickListener; 
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.LinearLayout;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;
    import android.widget.Spinner;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.view.View; import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.AndroidHttpTransport;
    public class list extends Activity {
        /** Called when the activity is first created. */
        public static SoapObject soapObject ;  
    private static final String NAMESPACE = "http://tempuri.org/";
    private static String URL = "http://www.stu80.com/android/list.asmx";
     private static final String METHOD_NAME = "ListInfo";
    private static String SOAP_ACTION = "http://tempuri.org/ListInfo";
    private ListView ls;
    private ArrayList items_m;
    private Button bt1;
    private Button bt2;
    //private TextView list_id;
    private int num;
    private int x,y;
    public ProgressDialog mydialog=null;
    public int par;
    public  ArrayList items;
    private Handler handler=new Handler(){
            public void dispatchMessage(android.os.Message msg) {
                switch (msg.what) {
                case 0:
                    mydialog.cancel();
                    break;            default:
                    break;
                }
            };
        };

    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Bundle bundle=this.getIntent().getExtras();
            String param=bundle.getString("param");
            //Toast.makeText(list.this,"123", Toast.LENGTH_LONG).show(); 
             par=Integer.parseInt(param);
            
            mydialog = ProgressDialog.show(list.this, "加载中...",
                    "请稍等片刻...", true);
            new Thread() {
                public void run() {
                    try {
                        // 涉及到网络访问的操作,用多线程来实现
                      items = getItems(par);
                    } catch (Exception e) {
                        e.printStackTrace();
                    } finally {
                        //最终通知handler关闭mydialog
                        handler.sendEmptyMessage(0);
                    }
                }
            }.start();
            
           
            ls=(ListView) findViewById(R.id.ls);
           ls.setOnItemClickListener(new OnItemClickListener(){ 
                @Override 
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
                long arg3) { 
                TextView ls_id_i = (TextView)arg1.findViewById(R.id.ls_id);
                
            /*    Toast.makeText(getApplicationContext(),  
                 ls_id_i.getText(),
                Toast.LENGTH_SHORT).show(); 
                */
                Intent intent=new Intent();
                intent.setClass(list.this,content.class);
                Bundle bundle=new Bundle();
                bundle.putString("id", ls_id_i.getText().toString());
                intent.putExtras(bundle);
                startActivity(intent);
                }
                });
            bt1=(Button) findViewById(R.id.bt1);
            bt2=(Button) findViewById(R.id.bt2);
            bt1.setOnClickListener(new Button.OnClickListener()
            {
             public void onClick(View v)
             {
             if(num>0)
             {
               num--;
             }
             display(items_m);
             }
            });
            bt2.setOnClickListener(new Button.OnClickListener()
            {
             public void onClick(View v)
             {
             if(num*12<items_m.size())
             {
             num++;
             }
             display(items_m);
             }
            });
           
            items_m=items;
            display(items);
          //添加Spinner事件监听 
            Spinner sp=(Spinner) findViewById(R.id.sp);
            ArrayAdapter ada = ArrayAdapter.createFromResource(this, R.array.list, android.R.layout.simple_spinner_item); 
            ada.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
            sp.setAdapter(ada); 
          //定义子元素选择监听器  
            sp.setSelection(0, false);
            sp.setOnItemSelectedListener(new OnItemSelectedListener() { 
                @Override 
               public void onItemSelected(AdapterView<?> parent, View view,  
                       int position, long id) {  
                    //  Toast.makeText(Stu80Activity.this,"选择的色彩: " +  
                    //  parent.getItemAtPosition(position).toString(), Toast.LENGTH_LONG).show(); 
                 String pos=parent.getItemAtPosition(position).toString();
                   //TextView tv=(TextView) findViewById(R.id.logotitle);
                 //tv.setText(pos);
                 pos=pos.substring(0,2);
                 jump(pos);
                }
               @Override 
                public void onNothingSelected(AdapterView<?> parent) {  
                }  
      });  
      
    }

    public void display(ArrayList items)
            {
    if(num*12>items.size())
    {
     x=items.size();
    }
    else{
     x=num*12;
    }
    if(12+num*12>items.size())
    {
     y=items.size();
    }
    else{
     y=12+num*12;
    }
    ArrayList items_tmp=new ArrayList(items.subList(x,y));
            SimpleAdapter adapter = new SimpleAdapter(this, items_tmp, R.layout.simple_expandable_list_item_1, 
                    new String[] {"ls_id","ls_title","ls_name","ls_time","ls_num"}, 
                    new int[] {R.id.ls_id,R.id.ls_title,R.id.ls_name, R.id.ls_time,R.id.ls_num});
            adapter.notifyDataSetChanged();
            //位ListView设置Adapter
            ls.setAdapter(adapter); }
         public void jump(String pos)
    {
         //String pos=java.net.URLDecoder.decode(poss);
          //  Toast.makeText(Stu80Activity.this,"选择的pos: " +  
             //           pos, Toast.LENGTH_LONG).show(); 
          int poss=Integer.parseInt(pos);
          ArrayList items=getItems(poss);
          items_m=items;
           display(items); 
    }
         public ArrayList getItems(int pos) {
          num=0;
    ArrayList items = new ArrayList();
    try {       soapObject = new SoapObject(NAMESPACE, METHOD_NAME);
                   soapObject.addProperty("param", pos);
                   AndroidHttpTransport ht = new AndroidHttpTransport(URL);
                   SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                  
                   envelope.bodyOut = soapObject;
                   envelope.dotNet = true;
                   envelope.setOutputSoapObject(soapObject);                ht.call(SOAP_ACTION, envelope);                            soapObject = (SoapObject) envelope.bodyIn;
               //  soapObject = (SoapObject) envelope.getResponse();
                Object result= (Object) soapObject.getProperty(METHOD_NAME+"Result");
              Document document = DocumentHelper.parseText(result.toString());
              Element root=document.getRootElement();
             Iterator iterator=root.elementIterator();
             while(iterator.hasNext())
             {
            HashMap map = new HashMap();
              Element element=(Element)iterator.next();
              if(element.getName().equals("list"))
              {
            map.put("ls_id",element.element("id").getText());
            map.put("ls_title",element.element("title").getText());
            map.put("ls_name","by: "+element.element("name").getText());
            map.put("ls_time",element.element("time").getText());
            if(element.element("num").getText()==""||element.element("num").getText()==null)
            {
            map.put("ls_num","[0]");
            }else{
            map.put("ls_num","["+element.element("num").getText()+"]");
            }
             items.add(map);
              }
             }        
          //        tx.setText(s);  
           
         } catch (Exception e) {
          e.printStackTrace();
      //  tx.setText(""+e+"");
         }
    return items;
    }
    }
      

  6.   

    报错提示
    06-05 01:11:37.606: D/ddm-heap(218): Got feature list request
    06-05 01:11:51.976: D/AndroidRuntime(218): Shutting down VM
    06-05 01:11:51.995: W/dalvikvm(218): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
    06-05 01:11:51.995: E/AndroidRuntime(218): Uncaught handler: thread main exiting due to uncaught exception
    06-05 01:11:52.016: E/AndroidRuntime(218): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.stu80/org.stu80.list}: java.lang.NullPointerException
    06-05 01:11:52.016: E/AndroidRuntime(218):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at android.app.ActivityThread.access$2200(ActivityThread.java:119)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at android.os.Handler.dispatchMessage(Handler.java:99)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at android.os.Looper.loop(Looper.java:123)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at android.app.ActivityThread.main(ActivityThread.java:4363)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at java.lang.reflect.Method.invokeNative(Native Method)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at java.lang.reflect.Method.invoke(Method.java:521)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at dalvik.system.NativeStart.main(Native Method)
    06-05 01:11:52.016: E/AndroidRuntime(218): Caused by: java.lang.NullPointerException
    06-05 01:11:52.016: E/AndroidRuntime(218):  at org.stu80.list.display(list.java:175)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at org.stu80.list.onCreate(list.java:144)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    06-05 01:11:52.016: E/AndroidRuntime(218):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
    06-05 01:11:52.016: E/AndroidRuntime(218):  ... 11 more
    06-05 01:11:52.067: I/dalvikvm(218): threadid=7: reacting to signal 3
    06-05 01:11:52.146: I/dalvikvm(218): Wrote stack trace to '/data/anr/traces.txt'
    06-05 01:11:54.505: I/Process(218): Sending signal. PID: 218 SIG: 9
      

  7.   

    06-05 01:11:52.016: E/AndroidRuntime(218): Caused by: java.lang.NullPointerException
    06-05 01:11:52.016: E/AndroidRuntime(218):     at org.stu80.list.display(list.java:175)
    我刚才写的代码没问题,自己先找找看 
      

  8.   

    把这两行代码也放到handler中来处理        items_m=items;
            display(items); 
      

  9.   

    175行是这个
    public void display(ArrayList items)
            {
            if(num*12>items.size())
            {
                 x=items.size();
            }
    跟new Thread() {
                public void run() {
                    try {
                        // 涉及到网络访问的操作,用多线程来实现
                         items = getItems(par);
                    } catch (Exception e) {是同一个啊,,难道有啥问题??
      

  10.   


    我放进去了,没报错,出现对话框,也消失了,但是问题又出现了,,listview 没有显示数据了空的,,
      

  11.   

    package org.stu80;import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.ProgressDialog;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.view.KeyEvent;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.AdapterView.OnItemClickListener; 
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.LinearLayout;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;
    import android.widget.Spinner;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.view.View; import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.AndroidHttpTransport;
    public class list extends Activity {
        /** Called when the activity is first created. */
        public static SoapObject soapObject ;  
    private static final String NAMESPACE = "http://tempuri.org/";
    private static String URL = "http://www.stu80.com/android/list.asmx";
     private static final String METHOD_NAME = "ListInfo";
    private static String SOAP_ACTION = "http://tempuri.org/ListInfo";
    private ListView ls;
    private ArrayList items_m;
    private Button bt1;
    private Button bt2;
    //private TextView list_id;
    private int num;
    private int x,y;
    public ProgressDialog mydialog=null;
    public int par;
    public  ArrayList items;
    private Handler handler=new Handler(){
            public void dispatchMessage(android.os.Message msg) {
                switch (msg.what) {
                case 0:
                    mydialog.cancel();
                    break;            default:
                    break;
                }
            };
        };

    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Bundle bundle=this.getIntent().getExtras();
            String param=bundle.getString("param");
            //Toast.makeText(list.this,"123", Toast.LENGTH_LONG).show(); 
             par=Integer.parseInt(param);
            
            mydialog = ProgressDialog.show(list.this, "加载中...",
                    "请稍等片刻...", true);
            new Thread() {
                public void run() {
                    try {
                        // 涉及到网络访问的操作,用多线程来实现
                      items = getItems(par);
                      items_m=items;
                         display(items);
                    } catch (Exception e) {
                        e.printStackTrace();
                    } finally {
                        //最终通知handler关闭mydialog
                        handler.sendEmptyMessage(0);
                    }
                }
            }.start();
            
           
            ls=(ListView) findViewById(R.id.ls);
           ls.setOnItemClickListener(new OnItemClickListener(){ 
                @Override 
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
                long arg3) { 
                TextView ls_id_i = (TextView)arg1.findViewById(R.id.ls_id);
                
            /*    Toast.makeText(getApplicationContext(),  
                 ls_id_i.getText(),
                Toast.LENGTH_SHORT).show(); 
                */
                Intent intent=new Intent();
                intent.setClass(list.this,content.class);
                Bundle bundle=new Bundle();
                bundle.putString("id", ls_id_i.getText().toString());
                intent.putExtras(bundle);
                startActivity(intent);
                }
                });
            bt1=(Button) findViewById(R.id.bt1);
            bt2=(Button) findViewById(R.id.bt2);
            bt1.setOnClickListener(new Button.OnClickListener()
            {
             public void onClick(View v)
             {
             if(num>0)
             {
               num--;
             }
             display(items_m);
             }
            });
            bt2.setOnClickListener(new Button.OnClickListener()
            {
             public void onClick(View v)
             {
             if(num*12<items_m.size())
             {
             num++;
             }
             display(items_m);
             }
            });
           
           
          //添加Spinner事件监听 
            Spinner sp=(Spinner) findViewById(R.id.sp);
            ArrayAdapter ada = ArrayAdapter.createFromResource(this, R.array.list, android.R.layout.simple_spinner_item); 
            ada.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
            sp.setAdapter(ada); 
          //定义子元素选择监听器  
            sp.setSelection(0, false);
            sp.setOnItemSelectedListener(new OnItemSelectedListener() { 
                @Override 
               public void onItemSelected(AdapterView<?> parent, View view,  
                       int position, long id) {  
                    //  Toast.makeText(Stu80Activity.this,"选择的色彩: " +  
                    //  parent.getItemAtPosition(position).toString(), Toast.LENGTH_LONG).show(); 
                 String pos=parent.getItemAtPosition(position).toString();
                   //TextView tv=(TextView) findViewById(R.id.logotitle);
                 //tv.setText(pos);
                 pos=pos.substring(0,2);
                 jump(pos);
                }
               @Override 
                public void onNothingSelected(AdapterView<?> parent) {  
                }  
      });  
      
    }

    public void display(ArrayList items)
            {
    if(num*12>items.size())
    {
     x=items.size();
    }
    else{
     x=num*12;
    }
    if(12+num*12>items.size())
    {
     y=items.size();
    }
    else{
     y=12+num*12;
    }
    ArrayList items_tmp=new ArrayList(items.subList(x,y));
            SimpleAdapter adapter = new SimpleAdapter(this, items_tmp, R.layout.simple_expandable_list_item_1, 
                    new String[] {"ls_id","ls_title","ls_name","ls_time","ls_num"}, 
                    new int[] {R.id.ls_id,R.id.ls_title,R.id.ls_name, R.id.ls_time,R.id.ls_num});
            adapter.notifyDataSetChanged();
            //位ListView设置Adapter
            ls.setAdapter(adapter); }
         public void jump(String pos)
    {
         //String pos=java.net.URLDecoder.decode(poss);
          //  Toast.makeText(Stu80Activity.this,"选择的pos: " +  
             //           pos, Toast.LENGTH_LONG).show(); 
          int poss=Integer.parseInt(pos);
          ArrayList items=getItems(poss);
          items_m=items;
           display(items); 
    }
         public ArrayList getItems(int pos) {
          num=0;
    ArrayList items = new ArrayList();
    try {       soapObject = new SoapObject(NAMESPACE, METHOD_NAME);
                   soapObject.addProperty("param", pos);
                   AndroidHttpTransport ht = new AndroidHttpTransport(URL);
                   SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                  
                   envelope.bodyOut = soapObject;
                   envelope.dotNet = true;
                   envelope.setOutputSoapObject(soapObject);                ht.call(SOAP_ACTION, envelope);                            soapObject = (SoapObject) envelope.bodyIn;
               //  soapObject = (SoapObject) envelope.getResponse();
                Object result= (Object) soapObject.getProperty(METHOD_NAME+"Result");
              Document document = DocumentHelper.parseText(result.toString());
              Element root=document.getRootElement();
             Iterator iterator=root.elementIterator();
             while(iterator.hasNext())
             {
            HashMap map = new HashMap();
              Element element=(Element)iterator.next();
              if(element.getName().equals("list"))
              {
            map.put("ls_id",element.element("id").getText());
            map.put("ls_title",element.element("title").getText());
            map.put("ls_name","by: "+element.element("name").getText());
            map.put("ls_time",element.element("time").getText());
            if(element.element("num").getText()==""||element.element("num").getText()==null)
            {
            map.put("ls_num","[0]");
            }else{
            map.put("ls_num","["+element.element("num").getText()+"]");
            }
             items.add(map);
              }
             }        
          //        tx.setText(s);  
           
         } catch (Exception e) {
          e.printStackTrace();
      //  tx.setText(""+e+"");
         }
    return items;
    }
    }
      

  12.   

    多线程那不改,把这两行代码也放到handler中来处理  items_m=items;
      display(items);
      

  13.   

    himi_  ,加我qq吧  要么我把整个文件项目给你调试调试
      

  14.   

    是报错了 非UI线程不能更改UI线程的控件,
    display(items);
    这个方法中有对UI控件进行操作 所以不能放到子线程中,
    改到handler中来处理
      

  15.   

    我访问不了你的WebService 
    目前只是display(items);这个设置适配器这里出了问题,
    你把这个方法放到关闭Dialog之后来进行调用。