Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从expandable Recycle中获取编辑文本的值_Android - Fatal编程技术网

Android 如何从expandable Recycle中获取编辑文本的值

Android 如何从expandable Recycle中获取编辑文本的值,android,Android,如何从android中的可扩展可回收中获取编辑文本的价值,我在android studio中使用了这个“com.thoughtbot:expandablerecycleriew:1.0”库。 无法在可扩展可回收中获得适当的值 public class MasterAdapter extends ExpandableRecyclerViewAdapter<ParentView, ChildView> { private List<? extends Expandable

如何从android中的可扩展可回收中获取编辑文本的价值,我在android studio中使用了这个“com.thoughtbot:expandablerecycleriew:1.0”库。 无法在可扩展可回收中获得适当的值

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

我想这会对你有帮助。

请把你的代码贴出来