Question

So I have a ListView on which I click to start new Activity called MerchantView. Between the activities I am passing the uid which is a unique identifier of a merchant. Im then extracting merchant data from DB and want to view this data in this view. Everything works (while debugging i can see that data is taken from DB and passed properly to setText methods) but the data does not show, am I doing this right?

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();
        }
     });



}

}

Was it helpful?

Solution

Data was set properly. The problem was in layout. The header (LinearLayout) at the top had two buttons and it was set to android:layout_height="fill_parent" which was taking whole space. After fixing that, data is showing properly.

OTHER TIPS

Try Below code hope it helps

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(); 
        }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top