2012-01-10 2 views
0

MerchantView라는 새로운 활동을 시작하기 위해 클릭하는 ListView가 있습니다. 활동 사이에 나는 상인의 고유 식별자 인 uid를 전달합니다. 그런 다음 DB에서 판매자 데이터를 추출하고이보기에서이 데이터를보고 싶습니다. 다 작동합니다 (디버깅하는 동안 데이터가 DB에서 가져 와서 setText 메소드에 제대로 전달되었음을 알 수 있지만 데이터가 표시되지 않습니다. 코드 아래새 활동에 대한보기 데이터 설정

public class MerchantView extends Activity { 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.merchant); 

    String desc = ""; 
    String name = ""; 


    Bundle extras = getIntent().getExtras(); 
    String uid = "0"; 
    if(extras !=null) { 
     uid = extras.getString("uid");  
    } 

    // get merchant from database 
    if(Integer.valueOf(uid) > 0){ 
     Cursor c = Utilities.db.query(mydb.TABLE_MERCHANT, 
       null, 
       "uid=?", new String[] {uid}, null, null, null); 

     if(c.moveToFirst() != false){ 
      name = c.getString(c.getColumnIndex(MerchantsColumns.COLname)); 
      desc = c.getString(c.getColumnIndex(MerchantsColumns.COLdesc)); 
     } 
     // set values to UI 
     TextView descUI = (TextView) findViewById(R.id.merchantDescription); 
     descUI.setText(desc); 
     TextView nameUI = (TextView) findViewById(R.id.merchantName); 
     nameUI.setText(name);   
    } 
    else{ 

    } 

    Button buttonMerchants = (Button) findViewById(R.id.buttonMerchants); 
    buttonMerchants.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      finish(); 
     } 
    }); 



} 

}

답변

0

데이터가 적절하게 설정하는 데 도움이되기를 바랍니다. 레이아웃에 문제가있었습니다. 맨 위의 머리글 (LinearLayout)에는 두 개의 버튼이 있으며 전체 공간을 차지하는 android : layout_height = "fill_parent"로 설정되었습니다. 이를 수정하면 데이터가 올바르게 표시됩니다.

-1

시도는

SQLiteDatabase myDB = this.openOrCreateDatabase("databasename.db", SQLiteDatabase.OPEN_READWRITE, null); 
    try{ 
      Cursor c = myDB.rawQuery("select name, desc from abctable where uid="+uid, null); 
      int Column1 = c.getColumnIndex("name"); 
      int Column2 = c.getColumnIndex("desc"); 

     // Check if our result was valid. 
     c.moveToFirst(); 
     if (c != null) { 
      int i = 0; 
      // Loop through all Results 
      do { 
       i++; 
      String name = c.getString(Column1); 
      String desc = c.getString(Column2); 
      TextView descUI = (TextView) findViewById(R.id.merchantDescription); 
        descUI.setText(desc); 
        TextView nameUI = (TextView) findViewById(R.id.merchantName); 
     nameUI.setText(name); 
      } while (c.moveToNext()); 
       } 


     } catch (SQLiteException e) { 
      e.printStackTrace(); 
     } finally { 
      if (myDB != null) 
        myDB.close(); 
     } 
+0

디버그했습니다. uid 및 모든 데이터가 추출되어 setText 메소드에 올바르게 전달됩니다. – AndroidGecko

+0

내 편집 된 응답보기 – Vamshi

+0

안녕하세요 Vamishi. 당신의 대답에 감사드립니다. 그러나 제가 언급했듯이, 데이터가 올바르게 취해 졌음을 확신합니다. 저는 방금 무언가를 보았습니다. 그래서 이것은 실제로 merchant.xml 레이아웃 문제입니다 – AndroidGecko