Android 如何从expandable Recycle中获取编辑文本的值
如何从android中的可扩展可回收中获取编辑文本的价值,我在android studio中使用了这个“com.thoughtbot:expandablerecycleriew:1.0”库。 无法在可扩展可回收中获得适当的值Android 如何从expandable Recycle中获取编辑文本的值,android,Android,如何从android中的可扩展可回收中获取编辑文本的价值,我在android studio中使用了这个“com.thoughtbot:expandablerecycleriew:1.0”库。 无法在可扩展可回收中获得适当的值 public class MasterAdapter extends ExpandableRecyclerViewAdapter<ParentView, ChildView> { private List<? extends Expandable
public class MasterAdapter extends ExpandableRecyclerViewAdapter<ParentView, ChildView> {
private List<? extends ExpandableGroup> list;
private Activity activity;
private Button button;
public MasterAdapter(Activity activity, List<? extends ExpandableGroup> list) {
super(list);
this.activity = activity;
this.list = list;
button = (Button) activity.findViewById(R.id.btnOk);
}
@Override
public ParentView onCreateGroupViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.parent_view, parent, false);
ParentView parentView = new ParentView(view);
return parentView;
}
@Override
public ChildView onCreateChildViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.child_view, parent, false);
ChildView childView = new ChildView(view);
return childView;
}
@Override
public void onBindChildViewHolder(final ChildView holder, int flatPosition, ExpandableGroup group, int childIndex) {
DataValue dataValue = ((MainData) group).getItems().get(childIndex);
holder.Bind(dataValue);
//
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// String editTextData = ((EditText) view).getText().toString().trim();
String editTextData = holder.editText.getText().toString().trim();
if (holder.editText!=null) {
// Toast.makeText(activity, editTextData, Toast.LENGTH_LONG).show();
Toast.makeText(activity, editTextData, Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public void onBindGroupViewHolder(ParentView holder, int flatPosition, ExpandableGroup group) {
holder.getTitle(group);
}
}
ChildView.class
public class ParentView extends GroupViewHolder {
TextView textView;
public ParentView(View view) {
super(view);
textView = (TextView) view.findViewById(R.id.parentName);
}
public void getTitle(final ExpandableGroup group) {
textView.setText(group.getTitle());
}
}
public class ChildView extends ChildViewHolder {
EditText editText;
String string;
public ChildView(View view) {
super(view);
editText = (EditText) view.findViewById(R.id.childtName);
}
public void Bind(DataValue dataValue) {
editText.setText(dataValue.getName());
}
}
public class DataValue implements Parcelable {
private String title;
private String name;
public DataValue(String title, String name) {
this.title = title;
this.name = name;
}
public DataValue(String name) {
this.name = name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
}
DataValue.class
public class ParentView extends GroupViewHolder {
TextView textView;
public ParentView(View view) {
super(view);
textView = (TextView) view.findViewById(R.id.parentName);
}
public void getTitle(final ExpandableGroup group) {
textView.setText(group.getTitle());
}
}
public class ChildView extends ChildViewHolder {
EditText editText;
String string;
public ChildView(View view) {
super(view);
editText = (EditText) view.findViewById(R.id.childtName);
}
public void Bind(DataValue dataValue) {
editText.setText(dataValue.getName());
}
}
public class DataValue implements Parcelable {
private String title;
private String name;
public DataValue(String title, String name) {
this.title = title;
this.name = name;
}
public DataValue(String name) {
this.name = name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
}
主数据
public class MainData extends ExpandableGroup<DataValue> {
public MainData(String title, List<DataValue> items) {
super(title, items);
}
}
公共类MainData扩展了ExpandableGroup{
公共主数据(字符串标题、列表项){
超级(标题、项目);
}
}
我认为当用户点击按钮并获取输入文本时,您可以使用界面来处理
步骤1:定义接口
public interface GetInputListener{
public void getInput(String message);
}
步骤2:在适配器类上使用接口:
public class MasterAdapter extends ExpandableRecyclerViewAdapter<ParentView, ChildView> {
private List<? extends ExpandableGroup> list;
private Activity activity;
private Button button;
private GetInputListener getInputListener;
public MasterAdapter(Activity activity, List<? extends ExpandableGroup> list, GetInputListener listener) {
super(list);
this.activity = activity;
this.list = list;
button = (Button) activity.findViewById(R.id.btnOk);
this.getInputListener = listener;
}
@Override
public ParentView onCreateGroupViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.parent_view, parent, false);
ParentView parentView = new ParentView(view);
return parentView;
}
@Override
public ChildView onCreateChildViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.child_view, parent, false);
ChildView childView = new ChildView(view);
return childView;
}
@Override
public void onBindChildViewHolder(final ChildView holder, int flatPosition, ExpandableGroup group, int childIndex) {
DataValue dataValue = ((MainData) group).getItems().get(childIndex);
holder.Bind(dataValue);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//String editTextData = ((EditText) view).getText().toString().trim();
String editTextData = holder.editText.getText().toString().trim();
if (holder.editText!=null) {
listener.getInput(editTextData);
}
}
});
}
@Override
public void onBindGroupViewHolder(ParentView holder, int flatPosition, ExpandableGroup group) {
holder.getTitle(group);
}
}
我想这会对你有帮助。请把你的代码贴出来