Java 检索TextView的名称并跨其他类共享其值

Java 检索TextView的名称并跨其他类共享其值,java,android,Java,Android,如何获取我正在单击的文本视图的所有名称并将其值保存在数组中,以用作其他类中的共享首选项 这是我的代码: public class ServiceAdapter extends RecyclerView.Adapter < ServiceAdapter.ViewHolder > { private List < ServicesObject > itemList; private Context context; private LayoutInflater mIn

如何获取我正在单击的文本视图的所有名称并将其值保存在数组中,以用作其他类中的共享首选项

这是我的代码:

public class ServiceAdapter extends RecyclerView.Adapter < ServiceAdapter.ViewHolder > {

 private List < ServicesObject > itemList;
 private Context context;
 private LayoutInflater mInflater;
 private ServiceAdapter.ItemClickListener mClickListener;

 int j = 0;
 String[] allQuestions;

 public ServiceAdapter(List < ServicesObject > itemList, Context context) {
  this.itemList = itemList;
  this.context = context;
 }

 @Override
 public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

  this.mInflater = LayoutInflater.from(context);

  View view = mInflater.inflate(R.layout.listofservicesindetailspage, parent, false);
  return new ViewHolder(view);

 }

 @Override
 public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
  holder.textofService.setText(itemList.get(position).getNameofService());
  Log.d("SPAA", "NAME IS" + holder.textofService);

  Picasso.get()
   .load(itemList.get(position).getImageofServie())
   .placeholder(R.drawable.bath)
   .fit()
   .centerCrop()
   .into(holder.pictureofservice);
 }
公共类ServiceAdapter扩展了RecyclerView.Adapter{
私有列表<服务对象>项目列表;
私人语境;
私人停车场;
private ServiceAdapter.ItemClickListener McClickListener;
int j=0;
字符串[]所有问题;
公共服务适配器(列表itemList,上下文){
this.itemList=itemList;
this.context=上下文;
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
this.mInflater=LayoutInflater.from(上下文);
View=mInflater.inflate(R.layout.listofservicesindetailspage,父项,false);
返回新的ViewHolder(视图);
}
@凌驾
public void onBindViewHolder(@NonNull ViewHolder,int位置){
holder.textofService.setText(itemList.get(position.getNameofService());
Log.d(“SPAA”,“名称为”+holder.textofService);
毕加索
.load(itemList.get(position).getImageOfService())
.占位符(R.可绘制.浴缸)
.fit()
.centerCrop()
.进入(持有人图片服务);
}
二等舱:

 public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

  public ImageView pictureofservice;
  public TextView textofService;

  public ViewHolder(View itemView) {
   super(itemView);
   pictureofservice = (ImageView) itemView.findViewById(R.id.Serviceimage);
   textofService = (TextView) itemView.findViewById(R.id.ImageText);

   itemView.setOnClickListener(this);
  }

  @Override
  public void onClick(View v) {

   ArrayList < String > mylist = new ArrayList < String > ();
   mylist.add(String.valueOf(textofService));
   Log.d("SPA", "ARRAY is " + mylist);

  }
 }

 public interface ItemClickListener {
  void onItemClick(View view, int position);
 }

 @Override
 public int getItemCount() {
  return this.itemList.size();
 }
}
公共类ViewHolder扩展了RecyclerView.ViewHolder实现了View.OnClickListener{
公共图像查看图片服务;
公共文本查看文本服务;
公共视图持有者(视图项视图){
超级(项目视图);
pictureofservice=(ImageView)itemView.findViewById(R.id.Serviceimage);
textofService=(TextView)itemView.findViewById(R.id.ImageText);
setOnClickListener(这个);
}
@凌驾
公共void onClick(视图v){
ArrayListmylist=新的ArrayList();
add(String.valueOf(textofService));
Log.d(“SPA”,“数组为”+mylist);
}
}
公共接口项ClickListener{
void onItemClick(视图,int位置);
}
@凌驾
public int getItemCount(){
返回此.itemList.size();
}
}
如您所见,我正在使用RecyclerView类

是否有其他方法保存所有内容以供其他类使用


用户可以选择多个文本,共享首选项仅保存一个。

您可以将共享首选项中的所有内容保存为JSONObject

为类创建JSONObject

private List<ServicesObject> itemList;
private Context context;
private LayoutInflater mInflater;
private ServiceAdapter.ItemClickListener mClickListener;

int j = 0 ;
String[] allQuestions ;

private JSONObject jsonObject = new JSONObject();
当您想将项目添加到共享首选项时,只需执行以下操作

jsonObject.toString()

在onClick事件中,您将创建一个新的ArrayList并向其中添加单击的项文本

@Override
public void onClick(View v) {
    ArrayList<String> mylist = new ArrayList<String>();
    mylist.add(String.valueOf(textofService));
    Log.d("SPA", "ARRAY is " +mylist);
}
@覆盖
公共void onClick(视图v){
ArrayList mylist=新的ArrayList();
add(String.valueOf(textofService));
Log.d(“SPA”,“数组为”+mylist);
}
您应该将ArrayList声明为字段,并在单击项目时将其添加到其中

public class ServiceAdapter  extends  RecyclerView.Adapter<ServiceAdapter.ViewHolder>  {

private List<ServicesObject> itemList;
private Context context;
private LayoutInflater mInflater;
private ServiceAdapter.ItemClickListener mClickListener;
private List<String> myList = new ArrayList<>();

}
公共类ServiceAdapter扩展了RecyclerView.Adapter{ 私人清单项目清单; 私人语境; 私人停车场; private ServiceAdapter.ItemClickListener McClickListener; private List myList=new ArrayList(); }
保存
mylist
在首选项中列出并在其他类中访问它您可以使用此链接
public class ServiceAdapter  extends  RecyclerView.Adapter<ServiceAdapter.ViewHolder>  {

private List<ServicesObject> itemList;
private Context context;
private LayoutInflater mInflater;
private ServiceAdapter.ItemClickListener mClickListener;
private List<String> myList = new ArrayList<>();

}