J'essaie d'obtenir tous les éléments WebView dans l'activité en cours au moment du chargement et de la sortie.
Cela fonctionne parfaitement.Comment obtenir les enfants de Chid Layout?
code:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.dmp_webview.MainActivity"
android:orientation="vertical">
<WebView
android:id="@+id/simpleWebView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="20dp"
android:scrollbars="none" />
<WebView
android:id="@+id/simpleWebView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="20dp"
android:scrollbars="none" />
</LinearLayout>
private void forWebviews() {
final ViewGroup viewGroup = (ViewGroup) ((ViewGroup) this
.findViewById(android.R.id.content)).getChildAt(0);
int elementSize = getWenViews(viewGroup).size();
for(int j =0; j< elementSize;j++)
{
WebView getAllWebView = formIsValid(viewGroup).get(j);
String SplitTypeWebView = String.valueOf(getAllWebView);
String getWebValues = getAllWebView.getUrl().toString();
SplitWebViewID(SplitTypeWebView);
}
}
private ArrayList<WebView> getWenViews(ViewGroup viewGroup) {
ArrayList<WebView> webview = new ArrayList<WebView>();
for (int i = 0; i < viewGroup.getChildCount(); i++) {
View v = viewGroup.getChildAt(i);
if (v instanceof WebView) {
webview.add((WebView) v);
}
}
return webview;
}
mais quand je un plus LinearLayout (Non seulement LinearLayout autres dispositions aussi) pour parent WebView signifie comme celui-ci,
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.dmp_webview.MainActivity"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:orientation="vertical"
android:padding="16dp"
android:id="@+id/RootLayout_1">
<WebView
android:id="@+id/simpleWebView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="20dp"
android:scrollbars="none" />
<WebView
android:id="@+id/simpleWebView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="20dp"
android:scrollbars="none" />
</LinearLayout>
</LinearLayout>
Son ne fonctionne pas correctement. Pourquoi? Il ne retournera aucun compte de vue enfant. Je dois clarifier une chose.
- est-il possible d'obtenir tous les enfants de la disposition de l'enfant. (par exemple) ROOT AGENCEMENT -> LinearLayout (une autre mise en page) -> LinearLayout (une autre mise en page) -Vue
plz guider me.Actually i obtenir la mise en page des racines et itérer sur. Comment obtenir toutes les vues enfant lors de l'exécution? Peu importe le nombre de mises en page racines ou de mises en page ou de vues enfant. J'ai besoin de tout.
Le 'ViewGroup # getChild *()' méthodes traitent uniquement avec enfant direct 'View's, donc vous n'obtenez pas ces 'WebView's dans' ViewGroup' imbriqué. Dans 'getWenViews()', ce 'if' a besoin d'un' else if' dans le cas où l'enfant est un autre 'ViewGroup' -' else if (v instanceof ViewGroup) {webview.addAll (getWenViews ((ViewGroup) v)) ; } ' –
Essayez-vous d'obtenir tous les' WebView's dans la mise en page ou tous les 'WebView's à l'intérieur d'un' ViewGroup' spécifique? – Titus
@MikeM. oui mike vous avez raison, il obtiendra l'affichage direct de l'enfant seulement, selon la logique, je dois ajouter d'autre si pour vérifier l'autre viewgroup.i vais essayer de vous mettre à jour – Moorthy