इसने मुझे स्टम्प किया है।
मुझे कस्टम लेआउट क्लास के भीतर से एक गतिविधि विधि को कॉल करने की आवश्यकता है। इसके साथ समस्या यह है कि मैं नहीं जानता कि लेआउट के भीतर से गतिविधि का उपयोग कैसे किया जाए।
प्रोफ़ाइल दृश्य
public class ProfileView extends LinearLayout
{
TextView profileTitleTextView;
ImageView profileScreenImageButton;
boolean isEmpty;
ProfileData data;
String name;
public ProfileView(Context context, AttributeSet attrs, String name, final ProfileData profileData)
{
super(context, attrs);
......
......
}
//Heres where things get complicated
public void onClick(View v)
{
//Need to get the parent activity and call its method.
ProfileActivity x = (ProfileActivity) context;
x.activityMethod();
}
}
ProfileActivity
public class ProfileActivityActivity extends Activity
{
//In here I am creating multiple ProfileViews and adding them to the activity dynamically.
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.profile_activity_main);
}
public void addProfilesToThisView()
{
ProfileData tempPd = new tempPd(.....)
Context actvitiyContext = this.getApplicationContext();
//Profile view needs context, null, name and a profileData
ProfileView pv = new ProfileView(actvitiyContext, null, temp, tempPd);
profileLayout.addView(pv);
}
}
जैसा कि आप ऊपर देख सकते हैं, मैं प्रोफाइल व्यू को प्रोग्रामेटिक रूप से इंस्टेंट कर रहा हूं और इसके साथ एक्टिविटी कॉन्टेक्स्ट में पास कर रहा हूं। 2 प्रश्न:
- क्या मैं प्रोफाइलव्यू में सही संदर्भ दे रहा हूं?
- मैं संदर्भ से युक्त गतिविधि कैसे प्राप्त करूं?