Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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
Java 当按下listview外部的按钮时,如何获取列表视图中所有元素的值_Java_Android - Fatal编程技术网

Java 当按下listview外部的按钮时,如何获取列表视图中所有元素的值

Java 当按下listview外部的按钮时,如何获取列表视图中所有元素的值,java,android,Java,Android,我的listview的每一行都由一个TextView和一个EditText组成,我在listview外有一个按钮。单击该按钮时,我希望检索所有ExitText值 我已经在DialogFragment中生成了ListView。这是我试图完成的saveButton onClick。这是我的密码。任何帮助都将不胜感激 public class SubVitalsEntryDialogFragment extends DialogFragment { ArrayList<SubVital

我的listview的每一行都由一个TextView和一个EditText组成,我在listview外有一个按钮。单击该按钮时,我希望检索所有ExitText值

我已经在DialogFragment中生成了ListView。这是我试图完成的saveButton onClick。这是我的密码。任何帮助都将不胜感激

public class SubVitalsEntryDialogFragment extends DialogFragment {

    ArrayList<SubVitals> subVitalList = new ArrayList<SubVitals>();
    ListView mylist;
    Button saveButton;
    Button cancelButton;
    EditText entryEditText;

    public static SubVitalsEntryDialogFragment newInstance(ArrayList<SubVitals> sub) {
        SubVitalsEntryDialogFragment f = new SubVitalsEntryDialogFragment();

        // Supply num input as an argument.
        Bundle args = new Bundle();
        args.putParcelableArrayList("subVitalList", sub);
        f.setArguments(args);
        return f;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.subvitals_dialog_layout, null, false);
        mylist = (ListView) view.findViewById(R.id.vitalEntryListView);
        saveButton = (Button) view.findViewById(R.id.entrySaveButton);
        cancelButton = (Button) view.findViewById(R.id.entryCancelButton);
        //getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        getDialog().setTitle("Enter your vitals");

        cancelButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                getDialog().dismiss();
            }
        });

        saveButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ///??????????

            }
        });
        return view;
    }


    @Override
    public void onActivityCreated(Bundle savedInstanceState) {

        super.onActivityCreated(savedInstanceState);
        subVitalList = getArguments().getParcelableArrayList("subVitalList");
        ArrayAdapter<SubVitals> adapter = new MyListAdapter(subVitalList);
        mylist.setAdapter(adapter);

    }

    private class MyListAdapter extends ArrayAdapter<SubVitals>{

        public MyListAdapter(ArrayList<SubVitals> subVitalList){

            super(getActivity(), R.layout.subvitals_dialog_layout, subVitalList);
            Log.d("Tag", "super okay");
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View itemView = convertView;
            if (itemView == null)
                itemView = LayoutInflater.from(this.getContext()).inflate(R.layout.sub_vital_template, parent, false);

            String currentVital = subVitalList.get(position).getSubVitalName();

            //Fill the view

            TextView vitalText = (TextView) itemView.findViewById((R.id.vitalEntryTextView));
            vitalText.setText(currentVital);

            return itemView;
        }
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return subVitalList.size();
        }
    }

}
公共类subvitalEntryDialogFragment扩展了DialogFragment{
ArrayList subVitalList=新的ArrayList();
列表视图mylist;
按钮保存按钮;
按钮取消按钮;
EditText条目EditText;
公共静态子VitalEntryDialogFragment新实例(ArrayList子){
SubVitalEntryDialogFragment f=新的SubVitalEntryDialogFragment();
//提供num输入作为参数。
Bundle args=新Bundle();
args.putParcelableArrayList(“subvitalist”,sub);
f、 设置参数(args);
返回f;
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(R.layout.subvitals\u对话框\u布局,null,false);
mylist=(ListView)view.findViewById(R.id.vitalEntryListView);
saveButton=(Button)view.findViewById(R.id.entrySaveButton);
cancelButton=(Button)view.findViewById(R.id.entryCancelButton);
//getDialog().getWindow().requestFeature(Window.FEATURE\u NO\u TITLE);
getDialog().setTitle(“输入您的生命体征”);
cancelButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
getDialog().discouse();
}
});
saveButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
///??????????
}
});
返回视图;
}
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
subVitalList=getArguments().getParcelableArrayList(“subVitalList”);
ArrayAdapter适配器=新的MyListAdapter(subVitalList);
mylist.setAdapter(适配器);
}
私有类MyListAdapter扩展了ArrayAdapter{
公共MyListAdapter(ArrayList subVitalList){
super(getActivity(),R.layout.subvitals_对话框_布局,subVitalList);
Log.d(“标签”,“超级好”);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图项视图=转换视图;
如果(itemView==null)
itemView=LayoutInflater.from(this.getContext()).flate(R.layout.sub_vital_模板,父项,false);
字符串currentVital=subVitalList.get(position.getSubVitalName();
//填充视图
TextView vitalText=(TextView)itemView.findViewById((R.id.vitalEntryTextView));
vitalText.setText(currentVital);
返回项目视图;
}
@凌驾
public int getCount(){
//TODO自动生成的方法存根
返回subVitalList.size();
}
}
}

--------------编辑------------------

公共类subvitalEntryDialogFragment扩展了DialogFragment{
ArrayList subVitalList=新的ArrayList();
列表视图mylist;
按钮保存按钮;
按钮取消按钮;
EditText条目EditText;
List vitalsEntered=新建ArrayList();
私有HashMap textValues=新HashMap();
公共静态子VitalEntryDialogFragment新实例(ArrayList子){
SubVitalEntryDialogFragment f=新的SubVitalEntryDialogFragment();
//提供num输入作为参数。
Bundle args=新Bundle();
args.putParcelableArrayList(“subvitalist”,sub);
f、 设置参数(args);
返回f;
}
@凌驾
创建视图上的公共视图(布局、充气机、最终视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(R.layout.subvitals\u对话框\u布局,null,false);
mylist=(ListView)view.findViewById(R.id.vitalEntryListView);
saveButton=(Button)view.findViewById(R.id.entrySaveButton);
cancelButton=(Button)view.findViewById(R.id.entryCancelButton);
//getDialog().getWindow().requestFeature(Window.FEATURE\u NO\u TITLE);
getDialog().setTitle(“输入您的生命体征”);
cancelButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
getDialog().discouse();
}
});
saveButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Log.d(“保存在内部”,“确定”);
对于(Map.Entry:textValues.entrySet()){
String key=entry.getKey();
字符串值=entry.getValue();
Log.d(“HASHCHECK”,“Key:+Key+“Value”+Value”);
//做事
}
}
});
返回视图;
}
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
subVitalList=getArguments().getParcelableArrayList(“subVitalList”);
ArrayAdapter适配器=新的MyListAdapter(subVitalList);
mylist.setAdapter(适配器);
}
私有类MyListAdapter扩展了ArrayAdapter{
公共MyListAdapter(ArrayList subVitalList){
super(getActivity(),R.layout.subvitals_对话框_布局,subVitalList);
Log.d(“标签”,“超级好”);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//返回super.getView(位置,
public class SubVitalsEntryDialogFragment extends DialogFragment {

    ArrayList<SubVitals> subVitalList = new ArrayList<SubVitals>();
    ListView mylist;
    Button saveButton;
    Button cancelButton;
    EditText entryEditText;
    List<String> vitalsEntered = new ArrayList<>();
    private HashMap<String, String> textValues = new HashMap<String, String>();

    public static SubVitalsEntryDialogFragment newInstance(ArrayList<SubVitals> sub) {
        SubVitalsEntryDialogFragment f = new SubVitalsEntryDialogFragment();

        // Supply num input as an argument.
        Bundle args = new Bundle();
        args.putParcelableArrayList("subVitalList", sub);
        f.setArguments(args);
        return f;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, final ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.subvitals_dialog_layout, null, false);
        mylist = (ListView) view.findViewById(R.id.vitalEntryListView);
        saveButton = (Button) view.findViewById(R.id.entrySaveButton);
        cancelButton = (Button) view.findViewById(R.id.entryCancelButton);
        //getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        getDialog().setTitle("Enter your vitals");

        cancelButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                getDialog().dismiss();
            }
        });

        saveButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.d("SAVE INSIDE","OK");
                for (Map.Entry<String,String> entry : textValues.entrySet()) {
                    String key = entry.getKey();
                    String value = entry.getValue();
                    Log.d("HASHCHECK","Key: " + key + " Value" + value);
                    // do stuff
                }


            }
        });
        return view;
    }


    @Override
    public void onActivityCreated(Bundle savedInstanceState) {

        super.onActivityCreated(savedInstanceState);
        subVitalList = getArguments().getParcelableArrayList("subVitalList");
        ArrayAdapter<SubVitals> adapter = new MyListAdapter(subVitalList);
        mylist.setAdapter(adapter);

    }

    private class MyListAdapter extends ArrayAdapter<SubVitals>{



        public MyListAdapter(ArrayList<SubVitals> subVitalList){

            super(getActivity(), R.layout.subvitals_dialog_layout, subVitalList);
            Log.d("Tag", "super okay");
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            //return super.getView(position, convertView, parent);
            //Making sure we've a view to work with(may have been given null
            Log.d("TAG","Inside get view");
            View itemView = convertView;
            boolean convertViewWasNull = false;

            if (itemView == null){
                itemView = LayoutInflater.from(this.getContext()).inflate(R.layout.sub_vital_template, parent, false);
            convertViewWasNull = true;
            }

            TextView vitalText = (TextView) itemView.findViewById((R.id.vitalEntryTextView));
            EditText vitalEditText = (EditText) itemView.findViewById(R.id.vitalEntryEditText);

            if(convertViewWasNull ){
                vitalEditText.addTextChangedListener(new GenericTextWatcher(vitalEditText));
            }

            String currentVital = subVitalList.get(position).getSubVitalName();

            //Fill the view

            vitalText.setText(currentVital);
            return itemView;

        }
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return subVitalList.size();
        }

        private class GenericTextWatcher implements TextWatcher {

            private View view;
            private GenericTextWatcher(View view) {
                this.view = view;
            }

            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}

            public void afterTextChanged(Editable editable) {

                String text = editable.toString();
                //save the value for the given tag :
                textValues.put(view.getTag().toString(), editable.toString());
            }
        }

    }

}