В моем приложении adnroid, когда пользователь переходит в свой профиль, есть фрагмент с двумя кнопками - X точек и настроек. Для кнопок X пунктов я хочу изменить текст на любое количество очков, которое у них есть, например 12 очков.Как изменить текст внутри фрагмента из активности?
Я пробовал множество вещей, но ничего, кажется, работает:
Попытка 1:
myProfileActionButtonsHolder = (TableRow) findViewById(R.id.myProfileActionButtonsHolder);
getSupportFragmentManager().beginTransaction().replace(R.id.myProfileActionButtonsHolder, new MyProfileActionButtonsFragment()).commit();
MyProfileActionButtonsFragment.bMyProfilePoints = (Button) findViewById(R.id.bMyProfilePoints);
MyProfileActionButtonsFragment.bMyProfilePoints.setText("asd");
Попытка 2:
MyProfileActionButtonsFragment myProfileActionButtonsFragment = (MyProfileActionButtonsFragment) getSupportFragmentManager().findFragmentById(R.id.myProfileActionButtonsHolder);
((Button)myProfileActionButtonsFragment.getView().findViewById(R.id.bMyProfileSettings)).setText("asd");
Попытка 3
myProfileActionButtonsFragment.setBMyProfileSettingsText("asd"); //setBMyProfileSettingsText is a custom method defined inside the fragment
Здесь как мой фрагмент l ooks:
public class MyProfileActionButtonsFragment extends SherlockFragment {
public static Button bMyProfilePoints;
public Button bMyProfileSettings;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view= inflater.inflate(R.layout.my_profile_action_buttons_fragment, container, false);
bMyProfilePoints = (Button) view.findViewById(R.id.bMyProfilePoints);
bMyProfileSettings = (Button) view.findViewById(R.id.bMyProfileSettings);
return view;
}
public void setBMyProfileSettingsText(String text) {
bMyProfilePoints.setText(text);
}
}
Im ВСЕГДА получаю NullPointerException на линии, где я пытаюсь установить текст в кнопке.
Я не хочу устанавливать текст при нажатии кнопки. Я хочу установить текст при создании активности. Кроме того, у меня есть функция, которую я вызываю для обновления текста, но он не работает. Я прочитал этот вопрос и ответы, и они не работали для меня. В моем коде есть что-то не так. –