У меня есть пользовательский вид с двумя линейными макетами: первый — это заголовок представления, а второй — представление сведений.
В пользовательском представлении OnClickListener заголовка Linearlayout уже определен: при срабатывании он сворачивает/раскрывает второй 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();
}
}
});
}