私はそれぞれの行は次のように見えるレイアウトを膨張させるアダプタを持っているフラグメント内部RecyclerView
持っている:私はEditText
(内の値にアクセスしたい更新のTextView
を次のコードnumberET
)を入力し、EditText
が空でない場合は値を選択します。
RecyclerViewの各要素(このアダプタの中にあると思います)をこの動作にするにはどうすればいいですか?どのように各要素のEditTextにアクセスして値を取り出し、フラグメント内で使用することができますか?
アダプタ: `
public class UserFBEditTextAdapter <T extends UserFBEditTextAdapter.ViewHolder> extends UserFBAdapter<UserFBEditTextAdapter.ViewHolder>{
public UserFBEditTextAdapter(List<UserFB> users,int layoutId, Context context) {
super(users, layoutId, context);
}
@Override
public UserFBEditTextAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(layoutId, parent, false);
return new UserFBEditTextAdapter.ViewHolder(view);
}
@Override
public void onBindViewHolder(UserFBAdapter.ViewHolder holder, int position) {
holder.userFB = users.get(position);
holder.usernameTV.setText(holder.userFB.getName());
}
public class ViewHolder extends UserFBAdapter.ViewHolder {
protected EditText numberET;
public ViewHolder(View itemView) {
super(itemView);
numberET = (EditText) itemView.findViewById(R.id.number_et);
}
}
}`
は、フラグメント:
public class ExpenseCustomFragment extends Fragment {
private OnFragmentInteractionListener mListener;
private UserFBAdapter adapter;
private RecyclerView userCustomList;
public ExpenseCustomFragment() {
// Required empty public constructor
}
public static ExpenseCustomFragment newInstance() {
ExpenseCustomFragment fragment = new ExpenseCustomFragment();
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_expense_custom, container, false);
userCustomList = (RecyclerView) view.findViewById(R.id.amountlist_rv);
userCustomList.setLayoutManager(new LinearLayoutManager(getContext()));
NewExpenseDescriptionActivity activity = (NewExpenseDescriptionActivity) getActivity();
adapter = new UserFBEditTextAdapter(activity.getUsersGroup(), R.layout.listitem_expensecustom, getContext());
userCustomList.setAdapter(adapter);
return view;
}
public interface OnFragmentInteractionListener {
// TODO: Update argument type and name
void onFragmentInteraction(Uri uri);
}
}
ありがとうございました!だから、 'RecyclerView'から所有者を取得した場合、私は' RecyclerView'のアイテムの数が多いため、同じ問題が発生します。 –
あなたは何を意味するのか理解できませんでした。それを言い換えることはできますか? – azizbekian
私は、 'recyclerView.findViewHolderForLayoutPosition(position)'を通して与えられた位置に関連付けられたホルダーを 'RecyclerView'から取得します。 'RecyclerView'に含まれる' ViewHolder'と 'RecyclerView'に含まれる' RecyclerView'には例えば20項目ありますが、私の 'Fragment'は一度に4項目しか表示できませんが、' EditText'の内容は失われます。表示されません。私はそれを正しく持っていますか? –