Mam niestandardowy widok z 2 liniowymi układami: pierwszy to nagłówek widoku, a drugi to widok szczegółów.Jak mogę programowo uruchamiać zdarzenia Onclick w systemie Android?
W widoku niestandardowym, OnClickListener z nagłówka Linearlayout jest już zdefiniowany: po uruchomieniu zwija/rozwija drugi linelayout.
Co chcę zrobić, to dodać więcej funkcjonalności do zdarzenia OnClickListener mojego nagłówka (tj. Zwinąć/rozwinąć drugi układ i pokazać toast).
Nie mogę zmodyfikować kodu źródłowego widoku niestandardowego. Próbowałem ustawić nowy OnClickListener, ale ukrywa początkowe zdarzenie (zwiń/rozwiń).
Jak mam to wdrożyć?
Kod źródłowy widoku niestandardowego:
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();
}
});
}
}
co chcę zrobić, to dodać trochę kodu do już zdefiniowane zdarzenie OnClickListener w mojej działalności. Coś takiego:
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();
}
}
});
}
Proszę podać kod ....... odpowiedzi –
Zobacz @ waqaslam użytkownika. – Halil