2015-08-15 40 views
0

但是,如果我有不同的活動/片段用相同的變量名,如:如何獲取具有相同變量名稱的不同活動/片段的變量屬性?

FragmentA.java:

public static int cat_id = 1; 

    ... 


    public static int getCategory_ID() { 

    return cat_id; 

    } 

FragmentB.java:

public static int cat_id = 2; 

    ... 


    public static int getCategory_ID() { 

    return cat_id; 

    } 

Parser.java : ...

如何讓每一個片段的CATEGORY_ID設置它們的if語句,如:

int k_id = -1; 

    ... 


    k_id = current.getInt(...); 


    if (k_id == cat_id) { 

    do ... 

    } 
+0

您應該尊重變量的Java命名約定。 – Tunaki

回答

0

這些都是靜態方法,所以你可以通過類名稱使用它們

FragmentB.getCategory_ID() 

FragmentA.getCategory_ID() 
+0

是不是有一個更清潔的方式,因爲我得到了6個碎片... – AndroidBeginner

+0

我認爲你可以使用工廠設計模式來解決這個問題,但是你需要改變代碼的結構使用實例方法列出的靜態 –

+0

http:// www .avajava.com/tutorials/lessons/factory-pattern.html工廠設計模式示例 –

0

你可以得到他們使用的類名稱爲:

if(k_id==FragmentA.getCategory_ID()) 

OR

if(k_id==FragmentB.getCategory_ID()) 
+0

這就是問題所在,因爲我得到了一個if語句並且k_id應該是cat_id ... cat_id = FragmentA.cat_id; cat_id = FragmentB.cat_id; 所以,我怎麼可以覆蓋每個片段的這個值... – AndroidBeginner

+0

你可以這樣做:如果(k_id == FragmentA.cat_id),或者如果(k_id == FragmentA.cat_id) – hermit

+0

吧:)但是是不是有一個更清潔辦法? – AndroidBeginner

相關問題