TextView не будет обновляться с помощью SlidingMenu

Я использую SlidingMenu и хочу обновить TextView, содержащийся во фрагменте меню.

Моя проблема в том, что когда я вызываю setText(), текст не меняется, но если после вызова Log.i("". getText()) он печатает новый текст!

Я пытался вызвать mytextview.invalidate() безрезультатно.

public class SlidingMenuListFragment extends SherlockListFragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        this.container = container;
        return inflater.inflate(R.layout.menu_slide_menu, container, false);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        adapter = new SlidingMenuListAdapter(getActivity(),
        R.layout.menu_slide_menu_item, MenuItems);

        Username = (TextView) container.findViewById(R.id.username);

        Username.setText("NEW VALUE");
        Log.i("ASD", Username.getText().toString()); // prints the new value!

        setListAdapter(adapter);
    }
}

Макет:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/sliding_menu_list"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#f2f2f2"
        android:orientation="vertical" >

        ...

    <RelativeLayout
        android:id="@+id/username_layout"
        android:layout_width="match_parent"
        android:layout_height="@dimen/abs__action_bar_default_height"
        android:background="@drawable/actionbar" >

        ...

        <TextView
            android:id="@+id/username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_toRightOf="@+id/textView1"
            android:text="asd"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="#ffffff"
            android:textStyle="bold" />
    </RelativeLayout>

    <ListView
        android:id="@+id/menu_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="#f2f2f2"
        android:dividerHeight="0dip"
        android:textSize="32sp" />
        </LinearLayout>

</FrameLayout>

person filippo    schedule 09.02.2014    source источник


Ответы (1)


Только что поменял следующим образом:

Username = (TextView) getView().findViewById(R.id.username);

Источник: https://stackoverflow.com/a/12324654/824963

person filippo    schedule 09.02.2014