У меня есть пользовательский вид с двумя макетами lineat: первый - это заголовок представления, а второй - просмотр деталей.
В пользовательском представлении уже определено OnClickListener заголовка Linringayout: когда он срабатывает, он сворачивает/расширяет второй linearlayout.
Что я хочу сделать, так это добавить дополнительные функции в заголовок OnClickListener (например: свернуть/развернуть второй макет и показать Toast).
Я не могу изменить исходный код пользовательского представления. Я попытался установить новый OnClickListener, но он скрывает начальное событие (свернуть/развернуть).
Как это реализовать?
Исходный код My Custom View:
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();
}
}
});
}