如何在RecyclerView中添加一个旋转器?

问题描述 投票:0回答:1

当在我的应用程序中添加导航抽屉时,我使用了一种模式,涉及到填充第一个位置的 RecyclerView 头部包含一张图片和一些 TextViews. 这一切都很好,但现在我想添加一个。Spinner 但我不明白如何设置这个问题。

问题是当我创建dataAdapter时,我得到一个 "无法解析构造函数"。 我认为这是由于没有正确地提供一个 "不能解析构造函数"。Context?

ArrayAdapter<String> dataAdapter =new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list);

此时的我,正处于 ViewHolder 境内 RecyclerAdapter 所以 "这 "不是一个 Activity. 我知道你可以使用parent.this或activity name.this,但这似乎也不对(而且没有工作!)。

我怎样才能绕过 "无法解析构造函数 "的错误?

下面是整个 onBindViewHolder 在我 RecyclerAdapter.

@Override
    public void onBindViewHolder(navigationDrawerAdapter.ViewHolder holder, int position) {
        if(holder.HolderID ==1) {                         
            holder.textView.setText(mNavTitles[position - 1]); // Setting the Text with the array of our Titles
            holder.imageView.setImageResource(mIcons[position -1]);// Settimg the image with array of our icons
        }
        else{
            holder.imageProfile.setImageResource(profile);
            holder.textName.setText(name);
            holder.textEmail.setText(email);


            List<String> list = new ArrayList<String>();
            list.add("TEST");

            ArrayAdapter<String> dataAdapter =new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list);

dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

            holder.siteSpinner = (Spinner) findViewById(R.id.siteSpinner);

            holder.siteSpinner.setAdapter(dataAdapter);


        }
    }

另外,这样的做法对吗? 我想知道在位置一创建一个 "头 "是否是一个好办法? 是否可以采用另一种方法,即在第一位置创建一个 "页眉"?LinearLayout 我的导航抽屉里有 SpinnerRecyclerView 一个接一个?

android spinner android-recyclerview
1个回答
1
投票

我建议在你用来初始化RecyclerAdapter的方法中创建dataAdapter对象(即:构造函数),并将调用者的上下文传递给该方法。

例如

ArrayAdapter<String> dataAdapter;

dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

public MyRecyclerAdapter(Vector<int> myItems, Context leContext) {
   ...
   dataAdapter =new ArrayAdapter<String>(leContext, android.R.layout.simple_spinner_item,list);

}
...
© www.soinside.com 2019 - 2024. All rights reserved.