Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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单元格中获取RadioButton值_Java_Android - Fatal编程技术网

Java 如何从自定义listview单元格中获取RadioButton值

Java 如何从自定义listview单元格中获取RadioButton值,java,android,Java,Android,我试着从我的自定义列表视图单元格中获取数据,我有单选按钮,我试着从它们中获取数据,我该怎么做 我的自定义列表代码: private class customList extends ArrayAdapter<String> { public customList(Context context, int resource, List<String> objects) { super(context, resource, objects); } @Overrid

我试着从我的自定义列表视图单元格中获取数据,我有单选按钮,我试着从它们中获取数据,我该怎么做

我的自定义列表代码:

private class customList extends ArrayAdapter<String> {
public customList(Context context, int resource, List<String> objects) {
    super(context, resource, objects);

}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View row = layoutInflater.inflate(R.layout.custom_list , parent , false);
    //ParseObject parseObject = new ParseObject("Questions");
    //getParseData = new GetParseData(parseObject ,strQuestion);
    // getParseData.getQuestion(position);

    TextView tv = (TextView)row.findViewById(R.id.tvNameC);
    tv.setText(nameList.get(position).toString());

    final RadioGroup rg = (RadioGroup)row.findViewById(R.id.rg);


    ParseQuery<ParseObject> query = ParseQuery.getQuery("test");
    query.whereExists("arr");
    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject>List, ParseException e) {
            if (e == null) {

                strList = List.get(position).getList("arr");

                Log.e("Array Is " , strList.toString());

                final RadioButton[] radioButtons = new RadioButton[strList.size()];
                for(int i = 0 ; i < radioButtons.length ; i++)
                {
                    radioButtons[i] = new RadioButton(getApplicationContext());
                    radioButtons[i].setText(strList.get(i).toString());
                    radioButtons[i].setTextColor(Color.BLACK);
                    rg.addView(radioButtons[i]);
                }

                idForMethod = rg.getCheckedRadioButtonId();
            } else {
                Log.d("score", "Error: " + e.getMessage());
            }
        }
    });


    return row ;

}

您可以在适配器中创建一个返回数据的方法。例如,可以使用“状态选定”单选按钮填充列表

public List<boolean> getSelectedBoxes() {
    return selectedIds;
}

您可以从适配器获取数据,例如:

 myListView =(ListView)findViewById(R.id.list);

        //name of the class adapter with params
        adapter=new LazyAdapter(this, mStrings,nombre);
        myListView.setAdapter(adapter);
       //event of click in listview
        myListView.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {

                Toast.makeText(getApplicationContext(), adapter.data[arg2], Toast.LENGTH_SHORT).show();

            }
        });
在我的例子中,当我单击列表中的一个元素时,会显示class.attribute[id/position]


希望这对我有所帮助

它不会把每一个细胞扫描过的盒子都还给我。。。我想这就是我实现这一目标的方式。它在我的项目中非常有效。它从自定义列表视图获取任何数据。这就是我能告诉你的,不用看你的代码。你看到我写的了吗?
 for (int i = 0; i < Listview.getAdapter().getCount(); i++) {

 View view = Listview.getAdapter().getView(i,Listview.getChildAt(i), Listview);

// View view = Listview.getChildAt(i);

     TextView ref = (TextView)view.findViewById(R.id.tv_1);

     EditText text = (EditText) view.findViewWithTag ("et"+i); 

             hmref.put("reference", ref.getText().toString());
             Log.d("reference " + i, ref.getText()+"");
             hmref.put("amount", text.getText().toString());
             Log.d("amounts " + i, text.getText().toString());
             sendlist.add(hmref);
             }
 for (int i = 0; i < Listview.getAdapter().getCount(); i++) {

 View view = Listview.getAdapter().getView(i,Listview.getChildAt(i), Listview);

// View view = Listview.getChildAt(i);

     TextView ref = (TextView)view.findViewById(R.id.tv_1);

     EditText text = (EditText) view.findViewWithTag ("et"+i); 

             hmref.put("reference", ref.getText().toString());
             Log.d("reference " + i, ref.getText()+"");
             hmref.put("amount", text.getText().toString());
             Log.d("amounts " + i, text.getText().toString());
             sendlist.add(hmref);
             }