大家来看看,为什么会手机显示进程无法响应意外终止,,百思不得其解,,附详细注释
Java codepackage org.stu80;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;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;//以上import 忽略,,无视public class Stu80Activity 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; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加载mainxml布局文件,没有问题 setContentView(R.layout.main); //获取适配器内容,,默认取参数为1的数据。 ArrayList items = getItems(1); //显示函数,将适配器内容显示到ListView display(items); } public void display(ArrayList items) { ls=(ListView) findViewById(R.id.ls); SimpleAdapter adapter = new SimpleAdapter(this, items, R.layout.simple_expandable_list_item_1, new String[] {"ls_title","ls_name","ls_time","ls_num"}, new int[] {R.id.ls_title,R.id.ls_name, R.id.ls_time,R.id.ls_num}); //位ListView设置Adapter ls.setAdapter(adapter); // ------以上是ListView显示内容。。。。。 // ----以下是增加Spinner,并监听 //添加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); //------------问题就在这里,选中事件触发,到jump函数 jump(2); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); } public void jump(int pos) { if(pos==2) { //为了用于测试 Toast.makeText(Stu80Activity.this,"选择的pos: " + pos, Toast.LENGTH_LONG).show(); //---为了用于测试 //问题就在这里,,上面的语句可以显示,且是正确的。。。。但是下面怎么会无法显示呢 ,出现标题所示的错误 ArrayList items=getItems(pos); display(items); } } public ArrayList getItems(int pos) { ArrayList items = new ArrayList(); try { soapObject = new SoapObject(NAMESPACE, METHOD_NAME); if(pos==1) { soapObject.addProperty("param", "1"); } if(pos==2) { soapObject.addProperty("param", "2"); } 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_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; } }}