我正在开发一个Android应用程序,其中我有一个片段,它将有动态标签(标签将取决于服务器数据),在这个动态标签中,每个片段重复使用相同的列表视图
1)现在的问题是如何从列表视图中的edittext获取数据 - 并且在每个片段中重复使用
2)当我在活动之间移动时,如何在每个列表视图中保留数据
有一个想法,我发布了我的应用程序的图像,我粗略地完成了
http://i.stack.imgur.com/l3ewK.png
如何保存数据SQLite数据库或共享首选项
请尽快回答
public class ServicesListAdapter extends ArrayAdapter<Products> {
ArrayList<Products> actorList;
LayoutInflater vi;
int Resource;
public ServicesListAdapter(Context context, int resource, ArrayList<Products> objects) {
super(context, resource, objects);
vi = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Resource = resource;
actorList = objects;
}
@Override
public int getItemViewType(int position) {
return position;
}
@Override
public int getViewTypeCount() {
return 500;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// convert view = design
View v = convertView;
final ViewHolder holder;
if (v == null) {
v = vi.inflate(R.layout.booking_show, null);
holder = new ViewHolder();
holder.service = (TextView) v.findViewById(R.id.text1);
holder.price = (TextView) v.findViewById(R.id.text2);
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
// String[] wash1 = actorList.get(position).getName().split(",", -1);
Toast.makeText(getContext(),""+actorList.get(position).getName(),Toast.LENGTH_LONG).show();
holder.service.setText(actorList.get(position).getName());
holder.price.setText(actorList.get(position).getPrice());
return v;
}
private static class ViewHolder {
public TextView service;
public TextView price;
}
}
答案 0 :(得分:0)
1)您需要在edittext中添加文本更改侦听器:yourEditText.addTextChangedListener(new TextWatcher()),您将在其中保存文本。
2)您需要创建DataBase或使用SharedPreferences来执行此操作。此外,如果您使用的是活动而不是片段,则可以使用意图传递数据。
创建SharedPreferences的简单示例:
SharedPreferences yourpreferences = getSharedPreferences("Specify_tag", MODE_PRIVATE);
SharedPreferences.Editor youreditor = yourpreferences.edit();
youreditor.putString("name", "Put_data_here");
youreditor.commit();
您不仅可以输入字符串,还可以输入几乎所有类型的数据;
要在其他活动中访问您的共享偏好设置,请使用:
SharedPreferences yourpreferences = getSharedPreferences("Specified_tag", MODE_PRIVATE);
your_variable = yourpreferences.getString("name_you_specify","def_value");
其中&#34; def_value&#34;是默认值(如果需要,可以更改)
我希望我的回答对你有帮助