2012-09-19 85 views
0

嗨,我已經成功開發了一個listview應用程序..現在我必須點擊該列表中的任何項目意味着詳細說明顯示在下一個活動...它也成功完成..現在我的輸出低於格式:通過在Android的肥皂呼叫listviewview

1 F Krishna 
2 Q Danesh 
3 P Mercy 

在這裏,我必須點擊2 Q達內什項目則進入下一活性。下一個活動都以顯示

Q Danesh

是succssfully工作。

,但現在我想需要這樣的格式列表視圖:

1 Krishna 
2 Danesh 
3 Mercy 

在這裏,我必須點擊2達內什意味着它進入下一個活動以及下一個活動都顯示

Q

我該怎麼辦....請幫我...

下面的代碼是我的web服務代碼:

public class RetailerWs { 
public String customerData1(){ 
String customerInfo = ""; 
try{ 
Class.forName("com.mysql.jdbc.Driver"); 
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/xcart-432pro","root",""); 

//查找客戶信息,其中客戶ID是最大 PreparedStatement的聲明= con.prepareStatement( 「SELECT * FROM xcart_orders」); ResultSet result = statement.executeQuery();

while(result.next()){ 
    customerInfo = customerInfo 
      + result.getString("orderid") 
      + " " // this to separate order id from status 
      + result.getString("status") 
      + " " 
    // this to separate order id from status 
      + result.getString("login") 
      + "&" ; 
//Here "&"s are added to the return string. This is help to split the string in Android application 
} 
} 

catch(Exception exc){ 
System.out.println(exc.getMessage()); 
} 

return customerInfo; 
} 

} 

這是我的Android代碼:

public class RetailerActivity extends Activity { 
ListView list; 
private static final String SOAP_ACTION = "http://xcart.com/customerData1"; 
private static final String METHOD_NAME = "customerData1"; 
private static final String NAMESPACE = "http://xcart.com"; 
private static final String URL = "http://192.168.1.168:8089/XcartLogin/services/RetailerWs?wsdl"; 
private static final String KEY_STATUS = "status"; 
private static final String KEY_LOGIN = "login"; 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

    envelope.setOutputSoapObject(request); 

    HttpTransportSE ht = new HttpTransportSE(URL); 
    try { 
     ht.call(SOAP_ACTION, envelope); 
     SoapPrimitive response = (SoapPrimitive)envelope.getResponse(); 
     SoapPrimitive s = response; 
     String str = s.toString(); 
     String resultArr[] = str.split("&"); 
     list=(ListView)findViewById(R.id.list); 


     list.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1,resultArr)); 
     list.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       String status = parent.getItemAtPosition(position).toString(); 

       String[] status1 = status.split(" "); 

       String StrStatus = status1[1].toString(); 

       Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class); 
       in.putExtra(KEY_STATUS, StrStatus); 

       startActivity(in);    



      } 
     });  
    } 


    catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

    } 

這是我的下一個活動:

public class SingleMenuItemActivity extends Activity { 

// XML node keys 
static final String KEY_STATUS = "status"; 

@Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.single_list_item); 

    Intent in = getIntent(); 
    String StrStatus = in.getStringExtra(KEY_STATUS); 


    // Displaying all values on the screen 
    TextView lblName = (TextView) findViewById(R.id.status_label); 
    lblName.setText(StrStatus); 

    } 
    } 

請幫我....

+0

有可能或不可能的......誰能幫我 – user1676640

回答

1

這是可能的。您可以將您的Q從列表屏幕移至其他活動。

你只需要在你的第一個Activty改變(這是你的Q值)

in.putExtra("StrStatus", StrStatus); 

,然後你可以通過

Bundle extras=getIntent().getExtras(); 
if(extras!=null) { 
    STRStatus=extras.getString("StrStatus"); 
} 

這將有你的Q的其他活動得到這個價值,你可以做任何你想做的事情。

-----
順便說一句 - 你得到哪個錯誤? 你可以用它來點擊您的列表項

public void onListItemClick(ListView parent,View v,int position,long id){ 
try { 
    TextView t4=(TextView)v.findViewById(R.id.No); 

    if (t4!=null){ 
     BeanClass/*ClassName*/ mSelected; 
     int idx=position; 
     mSelected=m_adapter.getItem(idx);   
     String ActionID=mSelected.getID(); 

     Intent intent=new Intent(this,SoneActivity.class); 
     intent.putExtra("StrStatus", StrStatus); 
     startActivity(intent); 
    } 
} 
+0

它不是爲我工作......請閱讀我更新的問題,並給我解決這一點。 .. – user1676640

+0

@ user1676640是一個請求或命令...? –

+0

請求yar ........ – user1676640