Java 如何设置微调器的适配器

Java 如何设置微调器的适配器,java,android,Java,Android,如果我有ArrayListcoursesList,如何将适配器设置为微调器 我将显示的内容信息 我应该使用的正确适配器类型是什么?ArrayAdapter应该工作。请尝试使用字符串[] Spinner s = null; final String[] choices = {"1","2"}; ArrayAdapter<String> a =new ArrayAdapter<String>(ObservationSubmit.this,android.R.layout.si

如果我有
ArrayList
coursesList,如何将适配器设置为微调器 我将显示的内容信息


我应该使用的正确适配器类型是什么?

ArrayAdapter应该工作。请尝试使用字符串[]

Spinner s = null;
final String[] choices = {"1","2"};
ArrayAdapter<String> a =new ArrayAdapter<String>(ObservationSubmit.this,android.R.layout.simple_spinner_item, choices);
a.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(a); 
Spinner s=null;
最后的字符串[]选项={“1”,“2”};
ArrayAdapter a=新的ArrayAdapter(ObservationSubmit.this,android.R.layout.simple\u微调器\u项,选项);
a、 setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
s、 设置适配器(a);
String[]arraySpinner=新字符串[]{
"1", "2", "3", "4", "5", "6", "7"
};  
微调器s=(微调器)findViewById(R.id.Spinner01);
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_微调器_项目,arraySpinner);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
s、 设置适配器(适配器);
导入android.content.Context;
导入android.support.annotation.LayoutRes;
导入android.support.annotation.NonNull;
导入android.support.annotation.Nullable;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.TextView;
导入com.agreeta.firebasedatabasedemo.R;
导入java.util.ArrayList;
导入java.util.HashMap;
公共类TestAdapter扩展了ArrayAdapter{
私有上下文;
私有ArrayList hashMapArrayList=新ArrayList();
公共TestAdapter(@NonNull上下文,ArrayList列表){
超级(上下文,0,列表);
mContext=上下文;
hashMapArrayList=列表;
}
@非空
@凌驾
公共视图getView(int位置,@Nullable视图convertView,@NonNull视图组父级){
查看列表项=转换视图;
如果(listItem==null)
listItem=LayoutInflater.from(mContext).充气(R.layout.like_row,parent,false);
TextView release=(TextView)listItem.findViewById(R.id.tv_title);
release.setText(hashMapArrayList.get(position.get(“key”));
返回列表项;
}
}

试试这个例子。这里的“key”是您的HashMap键,您可以通过它将值设置为微调器的行。

我如何在示例中使用它,因为它是不同的。我认为不可能使用hashtable列表。但这里有一个解决方案:或者,您可以在微调器上获取所选项目的索引,然后使用列表查找实际值。
 String[] arraySpinner = new String[] {
            "1", "2", "3", "4", "5", "6", "7"
        };  
  Spinner s = (Spinner) findViewById(R.id.Spinner01);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, arraySpinner);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        s.setAdapter(adapter);
import android.content.Context;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

import com.agreeta.firebasedatabasedemo.R;

import java.util.ArrayList;
import java.util.HashMap;

public class TestAdapter extends ArrayAdapter {

    private Context mContext;
    private ArrayList<HashMap<String, String>> hashMapArrayList = new ArrayList<>();

    public TestAdapter(@NonNull Context context, ArrayList<HashMap<String, String>> list) {
        super(context, 0 , list);
        mContext = context;
        hashMapArrayList = list;
    }

    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        View listItem = convertView;
        if(listItem == null)
            listItem = LayoutInflater.from(mContext).inflate(R.layout.like_row,parent,false);

        TextView release = (TextView) listItem.findViewById(R.id.tv_title);
        release.setText(hashMapArrayList.get(position).get("key"));



        return listItem;
    }
}