2017-01-28 24 views
-3

関数内の別のクラスから関数を呼び出すことはできますか?CustomAdapterから別のアクティビティへの値の受け渡し

EDIT

私は私のCart.classListView内の項目数を格納します私のMainActivity.classInteger変数num_itemsを持っています。私のCartは、,TextViewsおよびDelete ButtonからなるCustomAdapterを持っています。

Delete_button.OnClickpublic void cart_items(int x)MainActivity.classと呼び出すには、どうすればよいですか?

ここ

は、私はこのようなアプリケーションの呼び出し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; 

} 
} 

でこれを持って私の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? 
      } 
    }); 

からのコードです: MyHelper.myFun ();

1

はい、ただし、アクティビティにアクセスする必要はありません。クラスのオブジェクトを作成する必要があります。また、Integer xではなくint 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 No. Integerクラスは不変です。したがって、内部のintを変更することはできません。この場合、実用性の点で違いはありません。 – Einar

関連する問題