Ich versuche, Button in Fragment von Aktivität zu verstecken/zu zeigen, aber es gibt mir folgende Ausnahme.Hide/Show Button in Fragment von Aktivität
android.view.ViewRootImpl $ CalledFromWrongThreadException: Nur der ursprüngliche Thread, der eine Ansichtshierarchie erstellt hat, kann seine Ansichten berühren.
Hause Aktivität
public class HomeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
CategoryFragment frag=(CategoryFragment) activity.getSupportFragmentManager()
.findFragmentByTag("cat_frag");
Button newDesigns= (Button) frag.getView().findViewById(R.id.new_designs);
newDesigns.setVisibility(View.VISIBLE);
}
}
Kategorie Fragment
public class CategoryFragment extends Fragment{
Button newDesigns;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_category, null);
newDesigns= (Button) v.findViewById(R.id.new_designs);
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#CCCCCC">
<TextView
android:id="@+id/list_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="@drawable/shape_logo_bg"
android:gravity="center"
android:padding="5dp"
android:textColor="@android:color/white"
android:textSize="18sp" />
<Button
android:id="@+id/new_designs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/list_name"
android:background="@color/edit_button_color"
android:padding="10dp"
android:text="@string/new_designs"
android:textColor="@color/btn_text_color"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:visibility="gone"
/>
</RelativeLayout>
-Code ist zu groß, hier gebucht zu werden. Deshalb habe ich nur den Code gepostet, wo ich ein Problem finde.
Ich bin in der Lage, newDesigns BUTTON instance.Was ist schockierend für mich ist, wenn versuchen, mit Button-Instanz (VISIBLE/GONE) zu spielen gibt es mir oben genannten Ausnahme.
Hilfe ist willkommen.
ähnliche Fragen oft gestellt wurden! Unterlassen Sie ähnliche Fragen! –
siehe diesen Link http://stackoverflow.com/questions/20124557/disable-button-in-fragment-from-main-activity –
Mögliches Duplikat von [Android "Nur der ursprüngliche Thread, der eine Ansichtshierarchie erstellt hat, kann seine Ansichten berühren. " Fehler in Fragment] (http://stackoverflow.com/questions/18656813/android-only-the-original-thread-that-created-a-view-hierarchy-can-touch-its-vi) –