2012-09-19 3 views
0

안녕하세요. 저는 목록보기 앱을 개발했습니다. 목록에서 항목을 클릭해야만 세부 묘사가 다음 활동에 표시됩니다 ... 또한 성공적으로 완료되었습니다. 그것은 succssfully입니다android에서 soap call을 통한 listview

Q Danesh

표시하는

여기 내가이 다음 활동 다음 activity.the로 이동하는 2 Q Danesh 항목을 클릭해야
1 F Krishna 
2 Q Danesh 
3 P Mercy 

가있다 : 출력 형식 이하 일했다.

하지만 지금은이 형식과 같은 목록보기 필요가 원하는 : 내가 2 Danesh가 표시 할 다음 활동 및 향후 활동 한 이동 수단을 클릭해야 다음

1 Krishna 
2 Danesh 
3 Mercy 

Q

내가 할 수있는 방법 .... 좀 도와주세요 ...

아래 코드 내 웹 서비스 코드 :

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는 ("xcart_orders SELECT * FROM") 최대입니다 고객 정보 찾기; 결과 집합 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; 
} 

} 

이 내 안드로이드 코드 :

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를 다른 활동으로 가져갈 수 있습니다.

당신은

in.putExtra("StrStatus", StrStatus); 

(당신의 Q 값이다) 첫 번째 Activty에서 변경해야합니다 그리고 당신은

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

관련 문제