1

私はたくさんのことを考えており、これを達成する方法を理解することができません。私は簡単なやり方でアプリを作って、ドリブルを美しいデザインで見ました。RecyclerView - 最初の行EditText

enter image description here

保存後、ドスはTextViewのように示されている:あなたがやる追加すると、最初の行がのEditTextです。どのようにこれを達成するための任意のアイデアですか?

答えて

1

レイアウトごとに異なる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())が更新されます。

0

私のアプローチはこのようなものです。

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> 

はそれがお役に立てば幸いです。

関連する問題