อันนี้ทำให้ฉันนิ่งงัน
ฉันต้องการเรียกวิธีกิจกรรมจากภายในคลาสเลย์เอาต์ที่กำหนดเอง ปัญหาของเรื่องนี้คือฉันไม่รู้วิธีเข้าถึงกิจกรรมจากภายในโครงร่าง
โปรไฟล์ของ
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);
}
}
ดังที่คุณเห็นด้านบนฉันกำลังสร้างโปรไฟล์ viewView แบบเป็นโปรแกรมและส่งต่อในกิจกรรมContextด้วย 2 คำถาม:
- ฉันกำลังส่งบริบทที่ถูกต้องไปยัง Profileview หรือไม่
- ฉันจะรับกิจกรรมที่มีจากบริบทได้อย่างไร