android - 循环浏览android中的 View

标签 android

我正在遍历我动态创建的 View

int childCnt=dynAddrId.getChildCount();

for(int i=0;i<childCnt;i++){
    Spinner ref=(Spinner) dynAddrId.findViewWithTag(i).findViewWithTag("spinnerTag");
    ref.getSelectedItem().toString();       
}

ref.getSelectedItem().toString() 具有值 {id=1, proof=driving licence}

注意:sincedynamic内容在下一个循环中参与proof我可能会得到PAN CARD

如何获取值 driving licence 并将其存储在字符串中


编辑

用于填充微调器的代码

/* Create a Spinner .*/
        spinnerView=new Spinner(getActivity());
        spinnerView.setTag("spinnerTag");
        spinnerView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT,1f));
        AdptAddressProof adapter=new AdptAddressProof(addressProofSpinnerData, getActivity());
        spinnerView.setAdapter(adapter);
        //SET THE SPINNER ID FOR DYNAMICALLY CREATED OBJECT

public class AdptAddressProof extends BaseAdapter {
    ArrayList<HashMap<String, String>> categorySpinnerData;
    Context context;
    //ArrayList<ListObject> objects;

    public AdptAddressProof(ArrayList<HashMap<String, String>> _categorySpinnerData, Context _context) {
        super();
        context=_context;
        categorySpinnerData=_categorySpinnerData;
    }

    @Override
    public int getCount() {
        return categorySpinnerData.size();
    }

    @Override
    public Object getItem(int position) {
        return categorySpinnerData.get(position);
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        HashMap<String, String> mapData=categorySpinnerData.get(position);
        if (convertView == null) {
            LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
            convertView = mInflater.inflate(R.layout.adpt_categories_spinner, null);
        }

        TextView txtCategoryNameId = (TextView) convertView.findViewById(R.id.txtCategoryNameId);

        txtCategoryNameId.setText(mapData.get("proof"));
        txtCategoryNameId.setTag(mapData.get("id"));

        return convertView;
    }
}

最佳答案

在你的情况下 getSelectedItem返回 HashMap<String, String> .要检索证明的内容,您只需执行以下操作:

HashMap<String, String> item = (HashMap<String, String>) ref.getSelectedItem(); 
String value = item.get("proof");

关于android - 循环浏览android中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27426342/

相关文章:

android - Xamarin Android Player - 无法播放此视频

android - 应用程序ID和程序包ID不同,当用户对其进行更新时会崩溃

java - 类型 SocketFactory 已弃用

java - Eclipse错误: cannot be resolved to a type

android - 如果不首先调用 onStart(),什么时候会调用 onResume() ( fragment 生命周期)

android - 改造 + OkHTTP - 响应缓存不工作

java - Android Studio问题; java.lang.IllegalStateException : Could not execute method for android:onClick

java - Android Java 类中的非法类型 'void'

android - 如何在android上获取按钮的背景颜色?

android - 在android中添加到SQLite