È possibile creare visualizzazione personalizzata e fare le tue cose nella sua onAttachedToWindow
public class CustomView extends View {
public CustomView(Context context) {
super(context);
}
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
Log.d("CustomView", "onAttachedToWindow called for " + getId());
Toast.makeText(getContext(), "added", 1000).show();
}
}
[EDIT 1]
è possibile garantire che il vostro CustomView aggiunto per correggere viewgroup cui si desidera
@Override
protected void onAttachedToWindow() {
// TODO Auto-generated method stub
super.onAttachedToWindow();
if(((View)getParent()).getId()== R.id.relativelayout2)
{
Log.d("CustomView","onAttachedToWindow called for " + getId());
Toast.makeText(context, "added", 1000).show();
}
}
ho pensato che fosse solo [onAttachedToWindow] (http://developer.android.com/reference/android/view/View.html#onAttachedToWindow()) – Blundell
Ho letto che il funzione, ma non sembra esattamente quello di cui ho bisogno. Da quello che ho capito, si chiama solo quando la vista sta per disegnare se stessa, ma devo sapere quando viene aggiunta a un genitore, cosa che può verificarsi molto prima che inizi anche il processo di disegno. Inoltre, non sono sicuro del comportamento di questa funzione se la vista viene rimossa e aggiunta a un altro genitore. Viene chiamato di nuovo? – user940016
onDetach verrà chiamato, quindi onAttach, che ne dici di sovrascriverli e aggiungere la registrazione per scoprire – Blundell