2012-08-04 6 views
0

안녕하세요, 나는 하나의 XML을 구문 분석 example.here 내가 MySQL 데이터베이스에서 데이터 정보를 얻으려면 안드로이드 에뮬레이터에서 성공적으로 표시 썼습니다. 이 내 코드입니다 :Xml은 singlemenuitem과 안드로이드에서 구문 분석

public class CustomizedListView extends Activity { 
// All static variables 
static final String URL = "http://192.168.1.168/xcart432pro/orderdetails.xml"; 
// XML node keys 
static final String KEY_SONG = "Order"; // parent node 
static final String KEY_ID = "orderid"; 
static final String KEY_TITLE = "orderid"; 
static final String KEY_ARTIST = "payment_method"; 
static final String KEY_DURATION = "total"; 


ListView list; 
    LazyAdapter adapter; 

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


    ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>(); 

    XMLParser parser = new XMLParser(); 
    String xml = parser.getXmlFromUrl(URL); // getting XML from URL 
    Document doc = parser.getDomElement(xml); // getting DOM element 

    NodeList nl = doc.getElementsByTagName(KEY_SONG); 
    // looping through all song nodes <song> 
    for (int i = 0; i < nl.getLength(); i++) { 
     // creating new HashMap 
     HashMap<String, String> map = new HashMap<String, String>(); 
     Element e = (Element) nl.item(i); 
     // adding each child node to HashMap key => value 
     map.put(KEY_ID, parser.getValue(e, KEY_ID)); 
     map.put(KEY_TITLE, parser.getValue(e, KEY_TITLE)); 
     map.put(KEY_ARTIST, parser.getValue(e, KEY_ARTIST)); 
     map.put(KEY_DURATION, parser.getValue(e, KEY_DURATION)); 

     // adding HashList to ArrayList 
     songsList.add(map); 
    } 


    list=(ListView)findViewById(R.id.list); 

    // Getting adapter by passing xml data ArrayList 
    adapter=new LazyAdapter(this, songsList);   
    list.setAdapter(adapter); 


    // Click event for single list row 
    list.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 

      String Orderid= ((TextView) view.findViewById(R.id.title)).getText().toString(); 
      String Price = ((TextView) view.findViewById(R.id.duration)).getText().toString(); 

      String Description = ((TextView) view.findViewById(R.id.artist)).getText().toString(); 

      // Starting new intent 
      Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class); 

      in.putExtra(KEY_TITLE, Orderid); 
      in.putExtra(KEY_DURATION, Price); 
      in.putExtra(KEY_ARTIST, Description); 
      startActivity(in);     
     } 
    });  
} 
    } 

창피는 내 singlemenuitem.java 클래스입니다 : 여기

public class SingleMenuItemActivity extends Activity { 

// XML node keys 

static final String KEY_TITLE = "orderid"; 
static final String KEY_ARTIST = "payment_method"; 
static final String KEY_DURATION = "total"; 
@Override 

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

    // getting intent data 
    Intent in = getIntent(); 

    // Get XML values from previous intent 
    String product = in.getStringExtra(KEY_DURATION); 
    String login = in.getStringExtra(KEY_TITLE); 
    String description = in.getStringExtra(KEY_ARTIST); 

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

    TextView lblPName = (TextView) findViewById(R.id.cost_label); 
    TextView lblDesc = (TextView) findViewById(R.id.description_label); 

    lblName.setText(login); 

    lblPName.setText(product); 
    lblDesc.setText(description); 
    } 


    } 

내가 성공적으로 안드로이드 에뮬레이터에 표시해야합니다. 하지만 첫 번째 페이지 orderid 및 payment_method only.then 다음 페이지로 이동하려면 특정 id.please에 대한 총을 표시해야합니다 solutions.how 할 수 있습니다. 내 출력을하고자하는 표시하려면 : enter image description here

내가 13을 클릭하면 특정 주문 합계가 다음 활동에서만 표시된다는 의미입니다.

enter image description here

어떻게 도와 do.please하는 것입니다.

답변

1

: XML 파일의 가시성 설명 레이블 = "사라"를. 따라서 설명이 listview에 표시되지만 보이지는 않습니다.

0
Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class); 

     in.putExtra("KEY_TITLE", Orderid); 
     in.putExtra("KEY_DURATION", Price); 
     in.putExtra("KEY_ARTIST", Description); 
     startActivity(in); 

singlemenuitem.java

내가 u는 추가의 Andorid으로 "설명"필드 숨길 필요가이게 대답있어
  product = getIntent().getExtras().getString("KEY_TITLE"); 
      login = getIntent().getExtras().getString("KEY_DURATION"); 
      description = getIntent().getExtras().getInt("KEY_ARTIST");  
+0

내 업데이트 질문을 읽고 해결책을 읽어주세요. –

관련 문제