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<>();
}