私はたくさんのことを考えており、これを達成する方法を理解することができません。私は簡単なやり方でアプリを作って、ドリブルを美しいデザインで見ました。RecyclerView - 最初の行EditText
保存後、ドスはTextViewのように示されている:あなたがやる追加すると、最初の行がのEditTextです。どのようにこれを達成するための任意のアイデアですか?
私はたくさんのことを考えており、これを達成する方法を理解することができません。私は簡単なやり方でアプリを作って、ドリブルを美しいデザインで見ました。RecyclerView - 最初の行EditText
保存後、ドスはTextViewのように示されている:あなたがやる追加すると、最初の行がのEditTextです。どのようにこれを達成するための任意のアイデアですか?
レイアウトごとに異なるviewHolderクラスを作成し、onCreateVIewHolderに異なるビューを添付する必要があります。次に例を示します。
private Activity currActivity;
private Context currContext;
private List<CommonCategory> itemList;
public HomeFeedRecyclerAdapter(Activity currActivity, Context currContext, ArrayList<CommonCategory> itemList) {
this.itemList = itemList;
this.currActivity = currActivity;
this.currContext = currContext;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
RecyclerView.ViewHolder viewHolder;
switch (viewType) {
case TYPE_ONE: {
view = getLayoutView(parent, R.layout.list_one);
viewHolder = new EditTextViewHolders(view, currActivity);
break;
}
case TYPE_TWO: {
view = getLayoutView(parent, R.layout.list_two);
viewHolder = new TextViewHolders(view, currActivity, getItem(viewType));
break;
}
default: {
viewHolder = null;
}
}
return viewHolder;
}
は次に、2つの異なるviewHolderクラス(この場合はEditTextViewHoldersとTextViewHolders)を作成し、そこにあなたのビューを定義します。その後、テキストを入力すると、ArrayListとRecyclerView(notifyDataSetChanged())が更新されます。
私のアプローチはこのようなものです。
public void onBindViewHolder(HolderClass holder, int position) {
if (position == 0){
editTest.setVisibility(View.VISIBLE);
textView.setVisibility(View.GONE);
} else {
editTest.setVisibility(View.GONE);
textView.setVisibility(View.VISIBLE);
textView.setText(listItem.getTitle());
}
最初の位置については、editextを表示したままにしてください。静止位置にすると、テキストビューが表示されます。このような
メイクレイアウトファイル: -
<RelativeLayout
width="match_parent"
height="50dp">
<EditText
width="match_parent"
height="wrap_content"/>
<TextView
width="match_parent"
height="wrap_content"/>
</RelativeLayout>
はそれがお役に立てば幸いです。