我有一个带有 2 个线性布局的自定义视图:第一个是视图的标题,第二个是详细信息视图。
在自定义视图中,标头 Linearlayout 的 OnClickListener 已经定义:当它触发时,它会折叠/展开第二个线性布局。
我想要做的是为我的标题的 OnClickListener 事件添加更多功能(即:折叠/展开第二个布局并显示 Toast)。
我无法修改自定义视图的源代码。我试图设置一个新的 OnClickListener,但它隐藏了初始事件(折叠/展开)。
我应该如何实现这个?
我的自定义视图的源代码:
public class ExpandoLayout extends ViewGroup
{
/* some declarations */
private Linearlayout header;
private linearlayout footer;
/* some code */
@override
protected void onFinishInflate() {
header= new LinearLayout(context);
header.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
toggleExpand();
}
});
}
}
我想要做的是向我的活动中已经定义的 OnClickListener 事件添加一些代码。像这样的东西:
public class myActivity extends Activity {
private Linearlayout myCustomView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rsdetail);
myCustomView= (MyCustomView) findViewById(R.id.expanded);
myCustomView.getChildAt(0).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(v instanceof LinearLayout)
{
v.performClick();
Toast.makeText(getActivity(), "ExpandoOnClickListener", 2000).show();
}
}
});
}