2016-05-07 6 views
0

Ich habe Ansichten wie diese verschachteltGet verschachtelt Eltern

FrameLayout 
    CardView 
    LinearLayout 
     LinearLayout 
     LinearLayout 
      ImageButton 

Im Hörer für das Image ich die oben FrameLayout unsichtbar gesetzt.

Was ist ein besserer, dynamischer Weg als das?

public void onButtonClicked(View view) { 
    ((FrameLayout)view 
    .getParent() 
    .getParent() 
    .getParent() 
    .getParent() 
    .getParent()) 
    .setVisibility(View.GONE); 
} 
+0

gesetzt Ich weiß, Fragmente haben eine 'getView()' Methode. Ich bin mir sicher, dass Aktivitäten etwas Ähnliches haben, wenn Sie versuchen, die Draufsicht zu bekommen. Ansonsten funktioniert 'findViewById' ziemlich gut –

+0

Können Sie Ihren Layout-XML-Dateicode anzeigen, oder zumindest das' CardView'-Layout, also dasjenige, das Sie ausblenden möchten? – Elye

Antwort

2

In der Layout-Datei, eine android:id="[email protected]/yourName" zu der Ansicht, die Sie es versteckt werden soll, und erhalten die Ansicht

View viewToHide = findViewbyId(R.id.yourName); 

Von dort verwenden, können Sie die viewToHide.setVisibility(View.GONE);

Verwandte Themen