我在更新arraylist中的元素時遇到問題。我有ViewLabelINScreen
類,我構建了這個類的元素的數組列表,但是當我更新這個數組列表中的元素時,同一個對象中的另一個元素的值爲Default。我怎樣才能改變這個元素而無需改變其他元素。更新ArrayList中的元素
我改變了這個元素在不同的類中添加這個元素,我需要這個數組列表static。
ViewLabelINScreen:
public class ViewLabelINScreen {
public int xP;
public int yP;
public String nameLabel;
public int stringWidth4;
public int fontHeight;
public boolean stored;
public ViewLabelINScreen(int XP,int YP,String NameLabel,int StringWidth4 ,int FontHeight)
{
xP=XP; yP=YP; nameLabel=NameLabel;stringWidth4=StringWidth4;fontHeight=FontHeight;
}
//this contractor for change namelabel
public ViewLabelINScreen (String Namelabel)
{
nameLabel=Namelabel;
}
public ViewLabelINScreen() {
}
}
下面的類添加元素進入數組列表。
public class WgsGrid {
//Added by A.B
MapSelection mapSelection;
public static ArrayList<ViewLabelINScreen> INFOLable = new ArrayList<ViewLabelINScreen>();
for (int i4 = hMin; i4 <= hMax; i4++)
{
INFOLable.add(new ViewLabelINScreen(labelRectX, labelRectY - yOffset4, SetLabels.getYlabels()[counter2],stringWidth4,fontHeight));
}
}
該類NeedChangeArrayList更改元素:
class NeedChangeArrayList {
public void ChangeAraay()
{
if (WgsGrid.INFOLable.isEmpty() != true)
{
for (int s = 0; s < ylabels.length; s++)
{
WgsGrid.INFOLable.set(s, new ViewLabelINScreen(ylabels[s]));
}
//ylabels[s] string array get value from array and put in nameLabel
}
}
}
你實例化一個'WgsGrid'對象? – Coderchu
是的,我啓動程序時,實例化WgsGrid時,將所有元素內ArrayList。 – user61301
其他時候當用戶點擊按鈕時,程序調用「ChangeAraay」更新元素名稱標籤裏面的內容。 – user61301