У меня есть класс фрагмента, содержащий некоторое поле.Android - фрагмент дескриптора onClick from activity
public class ReviewFragment extends Fragment {
//...
private String paramText;
public String getParamText() { return paramText; }
//...
}
Из действия Я добавляю несколько экземпляров этого фрагмента и устанавливаю это значение поля. Также я ставлю каждый экземпляр в список и установить фрагмент тега = «Fragment0», «fragment1» и т.д.
public class ReviewActivity extends FragmentActivity {
private List<ReviewFragment> reviewFragments = new ArrayList<>();
//...
@Override
protected void onCreate(Bundle savedInstanceState) {
//...
int i = 0;
for (Comment comment : comments) {
ReviewFragment reviewFragment = ReviewFragment.newInstance(comment.getAuthor(), comment.getText(), comment.getRate());
reviewFragments.add(reviewFragment);
transaction.add(ll.getId(), reviewFragment, "review" + i);
i++;
}
}
мне нужно обработать щелчок на каждом экземпляре, например ReviewFragment. Поэтому в дизайнере Android Studio я прикладываю следующий метод к onClick корневого макета ReviewFragment.
public void reviewClick(View view) {
Intent intent = new Intent(this, FullReviewActivity.class);
String fragmentTag = view.getTag().toString();
//...
startActivity(intent);
}
Я пытаюсь получить фрагмент тега, чтобы найти фрагмент в моем обзоре списка фрагментов. Проблема заключается в том, что view.getTag() возвращает null, а не «reviewN». Я попытался написать тот же метод в классе ReviewFragment, но Android Studio не разрешил мне прикреплять его к onClick.
Итак, проблема в методе обработки onClick Мне нужно получить как активность, так и фрагмент. Как мне это сделать?
В качестве аргумента можно использовать фрагмент? Не знаю, я попробую сейчас. Можете ли вы дать образец кода для второго варианта? –
Было бы лучше, если бы вы могли предоставить полный код своей деятельности и фрагмента. – CROSP
Как я могу сказать, что вы хотите реализовать комментарии/отзывы и щелкнуть что-нибудь с этим комментарием? – CROSP