第一次实际发布一个我自己的问题,所以我希望我能做到这一点。
在我的Android应用程序中,我有一个名为" SessionDetails.java"的活动。在这个类中,我调用了一个自定义类(" CustomExpandableView.java"),它为我创建了一个自定义的可扩展列表布局。它通过创建类的不同实例来实现这一点" ParentSlice.java"然后创建类的不同实例" ChildSlice.java"对于每一个ParentSlices。 ChildSlices上都有一些文本数据,但有些还有一个ImageView。
到目前为止,我已经完成了所有工作,列表完全按照预期进行扩展和折叠,只有当列表从" SessionDetails.java"实例化时才显示ImageViews。而不是从" Session.java"实例化时,而图标只显示应该有图标的那些切片。
然而,我想要实现的是,当按下ChildSlice上的按钮时,SessionDetails的原始活动中的某些内容会发生变化。
我到目前为止所尝试的是传递实例化它的类的上下文(解析"这"),但因为它可以从" SessionDetails&#调用34;或者"会话"我不能使用它,因为上下文变量是在运行时确定的。
我还尝试设置自定义事件处理程序" OnPlotRequestListener"但是我被困在那个以及我无法理解如何解雇自定义事件等等。
所以基本上我的问题是:我如何从实例化当前类的类中调用函数/方法?我可以通过标准的OnClick方法吗?如果是这样,怎么样!
单纯的例子:
Public Class A extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_session_details_screen);
B myB = new B(this);
}
public void doStuffToActivity()
{ }
}
Public Class B
{
public B(Context context)
{
ImageView icon = new ImageView(context)
icon.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
//HERE IS WHERE I WANT TO CALL THE FUNCTION OF THE ACTIVITY.
//This does not work.
context.doStuffToActivity();
//Making a static method in A wont work, because then i can't alter, for example, a TextView on the activity.
//I've tried to create my own event handler, but couldn't figure it out.
}
});
}
}
如果有人能告诉我应该怎么做,我会非常高兴。
根据要求,我可以发布一些代码,但我认为这只会让人感到困惑。
提前感谢所有人。