Yang ini membuat saya bingung.
Saya perlu memanggil metode aktivitas dari dalam kelas tata letak khusus. Masalahnya adalah saya tidak tahu cara mengakses aktivitas dari dalam tata letak.
ProfileView
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);
}
}
Seperti yang Anda lihat di atas, saya membuat profil profileView secara terprogram dan meneruskan activityContext dengannya. 2 pertanyaan:
- Apakah saya meneruskan konteks yang benar ke dalam Profileview?
- Bagaimana saya mendapatkan aktivitas yang mengandung dari konteks?