gpt4 book ai didi

android - RemoveAllViews 不删除 View

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:43:49 27 4
gpt4 key购买 nike

我尝试删除线性布局的所有 subview ,但没有删除任何内容,奇怪的是相同的代码正在另一个应用程序中工作。 Here's the sample code of the method that populate the choiceHolder whenever a tab in it is selected (I remove all view and mark the selected one and populate basing on that:

/** a method to fill the upper bar where we choose the {@link CategoriesMyBox}
* @param category
*/
private void fillNavigationBar( CategoriesGetter category) {
TextView categoryTxt = new TextView(getActivity());
// categoryTxt.setAllCaps(true);
LinearLayout.LayoutParams txtParams;
if (category.isSelected() /*|| (category.getId_categorie()==0 && allselected)*/) {
txtParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
txtParams.gravity = Gravity.CENTER;
categoryTxt.setGravity(Gravity.CENTER);
categoryTxt.setTextSize(categoryTxt.getTextSize());
txtParams.setMargins(10, 0, 10, 0);
categoryTxt.setPadding(5, 5, 5, 5);
if (category.getId_categorie() == 0) {
categoryTxt.setText(getResources().getString(R.string.all_boxs));
}else {
categoryTxt.setText(category.getName_categorie());
}
categoryTxt.setTextColor(Color.GREEN);
categoryTxt.setBackgroundDrawable(getResources().getDrawable(R.drawable.back_categories_selected));
// categoryTxt.setBackgroundColor(Color.parseColor("#E3E8E6"));
categoryTxt.setTag(category);


}else {

txtParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
txtParams.setMargins(10, 0, 10, 0);
categoryTxt.setGravity(Gravity.CENTER);
categoryTxt.setPadding(5, 5, 5, 5);
txtParams.gravity = Gravity.CENTER;
if (category.getId_categorie() == 0) {
categoryTxt.setText(getResources().getString(R.string.all_boxs));
}else {
categoryTxt.setText((category.getName_categorie()));
}
categoryTxt.setTextColor(Color.GRAY);
categoryTxt.setBackgroundDrawable(getResources().getDrawable(R.drawable.back_categories));
// categoryTxt.setBackgroundColor(Color.parseColor("#777777"));
categoryTxt.setTag(category);
}
choiceHolder.addView(categoryTxt, txtParams);
categoryTxt.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
CategoriesGetter cat = (CategoriesGetter)v.getTag();
id_cat = cat.getId_categorie();
for (int i = 0; i < categories.size(); i++) {
categories.get(i).setSelected(false);
}
cat.setSelected(true);
// choiceHolder.removeAllViews();
/*for(int i=0; i<((ViewGroup)choiceHolder).getChildCount(); ++i) {
View nextChild = ((ViewGroup)choiceHolder).getChildAt(i);
choiceHolder.removeView(nextChild);
}*/
while (((ViewGroup)choiceHolder).getChildCount() >0) {
View nextChild = ((ViewGroup)choiceHolder).getChildAt(0);
choiceHolder.removeView(nextChild);
}
// choiceHolder.removeAllViewsInLayout();
for (int i = 0; i < categories.size(); i++) {

fillNavigationBar(categories.get(i));
}
callbackCategory.selectCategory(cat.getId_categorie());





}
});
}

choiceHolder 是一个LinearLayout

这是一张显示问题的图片:enter image description here

我的所有应用程序都以相同的方式运行,即使在更新内部列表时我仍然可以看到之前的列表。

最佳答案

我为这个问题找到的解决方案是从 AndroidManifest 中的 Activity 中删除 fullScreen 主题标签,它是这样的:

<application
android:name="com.paperpad.mybox.ApplicationInit"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.paperpad.mybox.activities.SplashActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<meta-data
android:name="com.crashlytics.ApiKey"
android:value="023e7fe8a4a93f93ffe7510201929d081b125313" />

<activity
android:name="com.paperpad.mybox.activities.BoxsMainActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_boxs_main"
android:theme="@style/FullscreenTheme" >
</activity>
<activity
android:name="com.paperpad.mybox.LoginActivity"
android:label="@string/title_activity_login"
android:windowSoftInputMode="adjustResize|stateVisible" >
</activity>
</application>

通过从 Activity BoxsMainActivity 中删除 android:theme="@style/FullscreenTheme" 一切正常。希望这对某人有帮助...

关于android - RemoveAllViews 不删除 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21041489/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com