Cái này làm tôi bí.
Tôi cần gọi một phương thức hoạt động từ trong một lớp bố trí tùy chỉnh. Vấn đề với điều này là tôi không biết cách truy cập hoạt động từ trong bố cục.
Hồ sơ xem
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();
}
}
Hồ sơ năng lực
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);
}
}
Như bạn có thể thấy ở trên, tôi đang khởi tạo profileView theo chương trình và truyền vào ActivityContext với nó. 2 câu hỏi:
- Tôi có chuyển đúng ngữ cảnh vào Profileview không?
- Làm cách nào để có được hoạt động chứa từ ngữ cảnh?