2012-09-07 89 views
-1

我創建了帶有按鈕的界面,但我不知道我需要多少個按鈕來創建,所以我用Java創建他們一個按鈕,使用此代碼:更改圖片,以便創建程序

public void criaButton (String nome){ 

    TableLayout tl=(TableLayout)findViewById(R.id.tabBTALERT);  
    TableRow tr1 = new TableRow(this); 
    tr1.setPadding(17, 15, 15, 5); 
    final Button bt = new Button(this); 
    bt.setText(nome); 
    bt.setTextColor(Color.BLACK); 
    bt.setBackgroundResource(R.drawable.botao); 
    bt.setCompoundDrawablesWithIntrinsicBounds(R.drawable.envelope, 0, 0, 0); 
    bt.setPadding(10, 20, 20, 20); 
    bt.setId(id); 
    tr1.addView(bt); 
    tl.addView(tr1); 
    bt.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View arg0) { 

      idButton = bt.getId(); 
      nomeButton = (String) bt.getText(); 

      inicia(); 
      Toast.makeText(Alerta.this, "Nome e ID : " + nomeButton + " " + idButton, Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 

用這種方法我可以保存id和我創建的每個按鈕的名稱。問題是,這些按鈕有一個圖像,當我開始另一個活動時,如果消息被讀取,未讀取,批准或拒絕,我必須更改圖像。

問題是,我怎樣才能讓按鈕的id改變圖像,並重新開始與更改圖像的活動?這可能嗎?

+0

一種可能性是將所有'Button's存儲在'List'中。然後,您可以直接訪問它們,而不是從「活動」中檢索它們。 –

回答

0

將按鈕ID保存在一個數組中,然後通過它們的ID查找按鈕並將其圖像更改爲所需的圖像。

+0

謝謝dandan78。請告訴我,可以在R類中臨時編寫跨Java的id嗎?謝謝 – Soraia

+0

您可以將ID存儲在全局數組中或傳遞它們的意圖。 http://stackoverflow.com/q/2091465/935627 – slybloty

+0

謝謝你slybloty。我用意圖解決了我的問題。感謝您的幫助 – Soraia