2017-01-28 156 views
-3

是否可以從函數內的另一個類調用函數?將CustomAdapter中的值傳遞給另一個活動

編輯

我在MainActivity.classInteger變量num_items將存儲在我的Cart.classListView項目的數量。我的Cart有一個CustomAdapter,它由一個ImageView,TextViews和一個Delete Button組成。

如何在Delete_button.OnClick中撥打public void cart_items(int x)MainActivity.class來傳遞一定的值。

這裏是我CustomAdapter.class

holder.del.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       remove(getItem(position)); 
       y = Double.parseDouble(data.getPrice()) * Double.parseDouble(data.getQty()); 
       ((Cart)getContext()).change_total(y); 

       //How Can I pass data.getQty() to the MainActivity method? 
      } 
    }); 

從像這樣在您的應用程序調用myFun功能的任何地方一個代碼,我有這個在我MainActivity.class

public void cart_items(int num) { 
    cartnum = num +cartnum; 

    if(cartnum == 0 || cartnum == 1) { 
     cart_items_tv.setText("(" +String.valueOf(cartnum) + " item)"); 
    } else 
     cart_items_tv.setText("(" +String.valueOf(cartnum) + " items)"); 
} 
+2

是的,它可能像其他語言一樣。 – jonathanrz

+0

可能嗎?是。好主意?不是真的。 – AnixPasBesoin

+0

我試過這種格式,但沒有奏效。出現錯誤說'無法解析getContext()'。 –

回答

0
public class MyHelper { 

public static String myFun() { 
    String unique = "any text"; 

    return unique; 

} 
} 

: MyHelper.myFun ();

1

是的,但不需要訪問活動來調用它。你需要創建一個類的對象。此外,你可能正在尋找int x,而不是整數x。

class MainClass { 
    public void function(int x) { 
     AnotherClass newClass = new AnotherClass(); 
     newClass.function2(239); 
    } 
} 

class AnotherClass { 
    public void function2(int x) { 
     //Do something more 
    } 
} 
+0

well Integer是一個包裝在類中的int,所以它將通過引用而不是像原語那樣通過值傳遞。這意味着在函數調用返回之後的理論上,Integer x是參數並且x的值發生了更改後,調用者函數可以檢索新值。 – Alex

+1

@Alex號Integer類是不可變的。所以你不能改變它裏面的int。所以在這種情況下,在實用性方面沒有區別。 – Einar

相關問題