1番目のフラグメントのリストビューから2番目のフラグメントのリストビューにアイテムを移動する方法を知っておく必要があります。フラグメント、およびリスト項目のビューを含むxmlファイルです。 AbsentStudentFragment.java1番目のフラグメントの1つのリストビューから2番目のフラグメントの別のリストビューへユーザがクリック/スワイプしたアイテムを転送する
編集: 私は配列リストにすべてのアレイを交換していると私は、単純なPOJOクラスでのArrayListを使用してリストアダプタ用のデータを生成しています。 私の質問は、名前、信頼度、POJOなどのリスト項目から取得した値をどのように使用するのですか?StudentDetails型を取得してPresentStudentフラグメントのPresentStudent arraylistにそれらの値を追加しています。
public class AbsentStudentFragment extends Fragment
{
ListView listForAbsentStudents;
Context context;
public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState)
{
final ArrayList<StudentDetails> stuAbsent= new ArrayList<>();
stuAbsent.add(new StudentDetails("name","nameNot",R.mipmap.user));
stuAbsent.add(new StudentDetails("81","checkName",R.mipmap.user));
stuAbsent.add(new StudentDetails("60","3rd",R.mipmap.user));
View view = inflater.inflate(R.layout.fragment_absent_students, container,false);
context=getActivity();
listForAbsentStudents=(ListView)view.findViewById(R.id.listview_for_absent_students);
final AdapterForAbsentList adapterForAbsentList=new AdapterForAbsentList(context,stuAbsent);
listForAbsentStudents.setAdapter(adapterForAbsentList);
listForAbsentStudents.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//what to do here.?
//Added below code now
StudentDetails studentDetails4;
studentDetails4=stuAbsent.get(position);
String temName=studentDetails4.getStudentName();
String tempConfidence=studentDetails4.getStudentConfidence();
int tempImage=studentDetails4.getStudentImage();
//Now how can I add these values to presentstudent array list in PresentStudent.java fragment.?
//presentStudentFragment.addToPresentStudents(temName,tempConfidence,tempImage);
Toast.makeText(getContext(),"value"+temName,Toast.LENGTH_SHORT).show();
}
});
return view;
}
public class AdapterForAbsentList extends BaseAdapter
{
public AdapterForAbsentList(Context mContext,ArrayList<StudentDetails>absentStudents)
{
this.absentStudents2 = absentStudents;
this.mContext = mContext;
}
ArrayList<StudentDetails> absentStudents2;
private Context mContext;
@Override
public int getCount() {
return absentStudents2.size();;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View convertView, ViewGroup viewGroup) {
View viewForListView;
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
{
viewForListView =inflater.inflate(R.layout.custom_row_for_absent_list,null);
TextView txtConfidence=(TextView)viewForListView.findViewById(R.id.txtConfidence_Temp);
TextView txtName=(TextView)viewForListView.findViewById(R.id.txtName_Temp);
ImageView imgStudentThumbnail=(ImageView)viewForListView.findViewById(R.id.imgFile_Temp);
txtConfidence.setText(absentStudents2.get(i).getStudentConfidence());
txtName.setText(absentStudents2.get(i).getStudentName());
imgStudentThumbnail.setImageResource(absentStudents2.get(i).getStudentImage());
}
else
{
viewForListView = convertView;
}
return viewForListView;
}
}
}
そしてPresentStudentFragment.java 編集は、ArrayListに追加されました。
AbsentStudentFragment.javaの配列リストからArrayList listPresentStudents ..に値を追加する方法を教えてください。
public class PresentStudentFragment extends Fragment {
ListView listForPresentStudents;
public ArrayList<StudentDetails>listPresentStudents=new ArrayList<>();
Context context;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.fragment_present_students, container, false);
context=getActivity();
listPresentStudents.add(new StudentDetails("80","saurabh",R.mipmap.user));
listPresentStudents.add(new StudentDetails("60","pqr",R.mipmap.user));
listForPresentStudents=(ListView)view.findViewById(R.id.listview_for_present_students);
AdapterForPresentList adapterForPresentListNew=new AdapterForPresentList(context,listPresentStudents);
listForPresentStudents.setAdapter(adapterForPresentList);
return view;
}
public class AdapterForPresentList extends BaseAdapter
{
private Context mContext;
ArrayList<StudentDetails>abc;
public AdapterForPresentList(Context context, ArrayList<StudentDetails>pqr)
{
this.mContext=context;
this.abc = pqr;
}
@Override
public int getCount() {
return abc.size();;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View convertView, ViewGroup viewGroup)
{
View viewForListView;
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
{
viewForListView = inflater.inflate(R.layout.custom_row_for_present_list, null);
TextView txtConfidence=(TextView)viewForListView.findViewById(R.id.txtConfidence_Temp2);
TextView txtName=(TextView)viewForListView.findViewById(R.id.txtName_Temp2);
ImageView imgStudentThumbnail=(ImageView)viewForListView.findViewById(R.id.imgFile_Temp2);
txtName.setText(abc.get(i).getStudentName());
txtConfidence.setText(abc.get(i).getStudentConfidence());
imgStudentThumbnail.setImageResource(abc.get(i).getStudentImage());
} else
{
viewForListView = convertView;
}
return viewForListView;
}
}
}
POJOクラスStudentDetails.javaリスト項目の
public class StudentDetails {
String studentName,studentConfidence;
int studentImage;
public StudentDetails() {
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getStudentConfidence() {
return studentConfidence;
}
public void setStudentConfidence(String studentConfidence) {
this.studentConfidence = studentConfidence;
}
public int getStudentImage() {
return studentImage;
}
public void setStudentImage(int studentImage) {
this.studentImage = studentImage;
}
public StudentDetails(String studentName, String studentConfidence, int studentImage) {
this.studentName = studentName;
this.studentConfidence = studentConfidence;
this.studentImage = studentImage;
}
}
とビューcustom_row_list
<ImageView
android:id="@+id/imgFile_Temp2"
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@mipmap/user"
android:padding="10dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/imgFile_Temp2"
android:orientation="vertical">
<TextView
android:id="@+id/txtConfidence_Temp2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColor="@android:color/black"
android:textSize="16sp" />
<TextView
android:id="@+id/txtName_Temp2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColor="@android:color/black"
android:textSize="16sp" />
私はスワイプ場合/ listForAbsentStudents
から項目をクリックすると必要なものそれからリストはに転送されるはずですリストとその項目は不在の学生リストから削除する必要があります。 これを行うにはどうすればよいですか。スワイプをすることについては忘れてください。私には遠いようです。 onItemclick()
の方法を教えてください。listview
エクストラを渡すためにインテントやバンドルを使用する必要がありますか。 何かの線に沿ってparent.getItemAt(position)
..?
No..実際には、あるリストビューから別のリストビューにアイテムを渡すことでした。あなたは両方のリストビューが別々のフラグメントになっているということは間違いありません...問題は、ファンクション通信にありました。私は 'インターフェースとアクティビティメソッド'を使ってみましたが、それはうまくいきませんでした。最終的にはバックエンドでsqlite dbを使用していました。 – saurabh169