2013-01-02 156 views
1

這是一個基本問題 - 但我是Android和Java的新手,請大家幫忙。 我試圖從數據庫(SQLite)中檢索所有行並將其顯示在屏幕上。 到目前爲止,它對於簡單的瀏覽和展示工作正常。Android:基本java +數組

但現在,我想添加邏輯。如果數組中的某個字段等於一個值,那麼我想執行一些操作,然後在屏幕上顯示該字段。

詳細信息 銀行表 - 銀行名稱,銀行餘額,銀行幣種。 我想讀取變量中的銀行貨幣(如果是美元),然後顯示銀行餘額。如果是INR,那麼我想將其轉換爲Bank Balance * 55,然後顯示新的餘額。

這裏是我當前的代碼

DB助手

public ArrayList<ArrayList<Object>> getAllRowsAsArrays() 
{ 
    // create an ArrayList that will hold all of the data collected from 
    // the database. 
    ArrayList<ArrayList<Object>> dataArrays = new ArrayList<ArrayList<Object>>(); 

    Cursor cursor; 

    try 
    { 
     // ask the database object to create the cursor. 
     cursor = db.query(
       BANKTABLE_NAME, 
       new String[]{BANKTABLE_ROW_ID, BANKTABLE_BANKNAME, BANKTABLE_BALAMT, BANKTABLE_CURRENCY}, 
       null, null, null, null, null 
     ); 

     // move the cursor's pointer to position zero. 
     cursor.moveToFirst(); 

     // if there is data after the current cursor position, add it 
     // to the ArrayList. 
     if (!cursor.isAfterLast()) 
     { 
      do 
      { 
       ArrayList<Object> dataList = new ArrayList<Object>(); 

       dataList.add(cursor.getLong(0)); 
       dataList.add(cursor.getString(1)); 
       dataList.add(cursor.getInt(2)); 
       dataList.add(cursor.getString(3)); 

       dataArrays.add(dataList); 
      } 
      // move the cursor's pointer up one position. 
      while (cursor.moveToNext()); 
     } 
    } 
    catch (SQLException e) 
    { 
     Log.e("DB Error in Retreive all", e.toString()); 
     e.printStackTrace(); 
    } 

    // return the ArrayList that holds the data collected from 
    // the database. 
    return dataArrays; 
} 

而這正是我打電話此陣

private void updateTable() 
{ 


    // collect the current row information from the database 

    ArrayList<ArrayList<Object>> data = db.getAllRowsAsArrays(); 

    // iterate the ArrayList, create new rows each time and add them 
    // to the table widget. 

    for (int position=0; position < data.size(); position++) 
    { 
     TableRow tableRow= new TableRow(this); 

     ArrayList<Object> row = data.get(position); 

     TextView bankNameN = new TextView(this); 
     bankNameN.setText(row.get(1).toString()); 
     tableRow.addView(bankNameN); 


     TextView balINRA = new TextView(this); 
     balINRA.setText(row.get(2).toString()); 
     tableRow.addView(balINRA); 


     dataTable.addView(tableRow); 
    } 
} 

這是一個簡單的代碼來extact銀行的Java類名稱和金額,因爲它是。我想爲IF ELSE添加邏輯。 請指導我的代碼。謝謝!

回答

1

使用這個代碼在balINRA

顯示量
TextView balINRA = new TextView(this); 
    if(row.get(3).toString.equals("USD")) 
    { 
    balINRA.setText(String.valueOf((Integer.parseInt(row.get(2).toString()))*55)); 
    } 
    tableRow.addView(balINRA); 
+0

或還可以通過使用這條線,balINRA.setText(將String.valueOf(row.get(2)* 55))跳過轉換; –

+0

謝謝。工作! – Jasma

+0

不要提及:-) –