我有一个自定义视图,有两个线性布局:第一个是视图的标题,第二个是详细信息视图。
在自定义视图中,header linearlayout的OnClickListener已经定义:当它触发时,它会折叠/展开第二个线性布局。
我想要做的是向我的header的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();
}
}
});
}
https://stackoverflow.com/questions/10894440
复制相似问题