Java 当我从下拉列表中选择项目时,我的微调器不显示任何值
这是我的java代码Java 当我从下拉列表中选择项目时,我的微调器不显示任何值,java,android,android-spinner,Java,Android,Android Spinner,这是我的java代码 public class FragmentAssignTask extends Fragment { ProgressDialog progressDialog; DocumentReference dr; CollectionReference cr = FirebaseFirestore.getInstance().collection("tasks"); SharedPreferences sp; final List<String> tasks =
public class FragmentAssignTask extends Fragment {
ProgressDialog progressDialog;
DocumentReference dr;
CollectionReference cr = FirebaseFirestore.getInstance().collection("tasks");
SharedPreferences sp;
final List<String> tasks = new ArrayList<String>();
final List<String> users = new ArrayList<String>();
View myview;
Spinner sp1;
Spinner sp2;
Button btn;
ArrayAdapter<String> adp1,adp2;
public String jsonResponse;
public FragmentAssignTask() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
myview = inflater.inflate(R.layout.fragment_assign_task, container, false);
sp1 = (Spinner) myview.findViewById(R.id.spinner1);
sp2 = (Spinner) myview.findViewById(R.id.spinner2);
btn = myview.findViewById(R.id.btn_assignTask);
progressDialog = new ProgressDialog(getActivity());
progressDialog.setMessage("Syncing Tasks");
progressDialog.show();
initiaizeValues();
sp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView arg0, View arg1, int position, long id) {
sp1.setSelection(position);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
sp2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
public void onItemSelected(AdapterView parent, View view, int position, long id)
{
String selectedItem = parent.getItemAtPosition(position).toString();
sp2.setSelection(position);
} // to close the onItemSelected
public void onNothingSelected(AdapterView parent)
{
}
});
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
String tn;
if(sp1.isSelected())
tn = sp1.getSelectedItem().toString();
String un ;
if(sp2.isSelected())
un= sp2.getSelectedItem().toString();
progressDialog.setMessage("Assigning Task");
progressDialog.setCancelable(false);
progressDialog.show();
tn = "Task 2";
un = "umar@gmail.com";
String documentString = "clienttask/" + un + "/tasks/"+tn;
dr = FirebaseFirestore.getInstance().document(documentString);
Map<String, Object> data = new HashMap<String, Object>();
data.put("status", "i");
dr.set(data).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(getActivity(),"Task Assigned Successfully",Toast.LENGTH_SHORT).show();
Log.d("assignTask", "task assigned to user");
progressDialog.dismiss();;
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(getActivity(),"Failed!!!",Toast.LENGTH_SHORT).show();
Log.d("assignTask", "task not assigned");
progressDialog.dismiss();;
}
});
}catch (Exception ex)
{
progressDialog.dismiss();
ex.toString();
}
}
});
return myview;
}
@Override
public void onStart()
{
super.onStart();
}
public void initiaizeValues()
{
try{
cr.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot documentSnapshots) {
if(!documentSnapshots.isEmpty())
{
List<DocumentSnapshot> d = documentSnapshots.getDocuments();
DocumentSnapshot t;
String tname,description;
for(int i=0;i<d.size();i++)
{
t = d.get(i);
tname = t.getString("tname");
tasks.add(tname);
}
}
else
{
Toast.makeText(getActivity(),"No Task !!!",Toast.LENGTH_LONG).show();
}
}
});
sp = getActivity().getSharedPreferences("trainer",Context.MODE_PRIVATE);
String tid = sp.getString("trainerid","aun@gmail.com");
String collectionstring = "clienttrainer/"+ tid+"/clients";
cr = FirebaseFirestore.getInstance().collection(collectionstring);
cr.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot documentSnapshots) {
if(!documentSnapshots.isEmpty())
{
List<DocumentSnapshot> d = documentSnapshots.getDocuments();
DocumentSnapshot t;
String cid;
for(int i=0;i<d.size();i++)
{
t = d.get(i);
cid = t.getString("name");
users.add(cid);
}
Toast.makeText(getActivity(),"Syncing Clients Sucessfull!!",Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
}
else
{
Toast.makeText(getActivity(),"No user assigned!!!",Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
}
}
});
}catch(Exception ex)
{
int j = 0;
}
adp1 = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_dropdown_item,tasks);
adp2 = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_dropdown_item,users);
sp1.setAdapter(adp1);
sp2.setAdapter(adp2);
}
}
公共类FragmentAssignTask扩展了Fragment{
进行对话进行对话;
文献参考博士;
CollectionReference cr=FirebaseFirestore.getInstance().collection(“任务”);
共享参考sp;
最终列表任务=新建ArrayList();
最终列表用户=新的ArrayList();
查看我的视图;
Spinner sp1;
Spinner sp2;
按钮btn;
阵列适配器adp1、adp2;
公共字符串jsonResponse;
公共碎片分配任务(){
//必需的空公共构造函数
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
myview=充气机。充气(R.layout.fragment\u assign\u task,container,false);
sp1=(微调器)myview.findViewById(R.id.spinner1);
sp2=(微调器)myview.findviewbyd(R.id.spinner2);
btn=myview.findviewbyd(R.id.btn\u assignTask);
progressDialog=新建progressDialog(getActivity());
progressDialog.setMessage(“同步任务”);
progressDialog.show();
initiaizeValues();
setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共位置(AdapterView arg0、视图arg1、整型位置、长id){
sp1.选举(职位);
}
@凌驾
未选择公共无效(AdapterView arg0){
}
});
setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()
{
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id)
{
字符串selectedItem=parent.getItemAtPosition(position.toString();
sp2.选举(职位);
}//要关闭选定的文件,请执行以下操作
未选择公共无效(AdapterView父级)
{
}
});
btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
字符串tn;
if(sp1.isSelected())
tn=sp1.getSelectedItem().toString();
联合国;
if(sp2.isSelected())
un=sp2.getSelectedItem().toString();
progressDialog.setMessage(“分配任务”);
progressDialog.setCancelable(假);
progressDialog.show();
tn=“任务2”;
un=”umar@gmail.com";
String documentString=“clienttask/”+un+“/tasks/”+tn;
dr=FirebaseFirestore.getInstance().document(documentString);
映射数据=新的HashMap();
数据。投入(“状态”、“i”);
dr.set(data).addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公开作废(作废避免){
Toast.makeText(getActivity(),“任务分配成功”,Toast.LENGTH_SHORT.show();
Log.d(“分配任务”、“分配给用户的任务”);
progressDialog.disclose();;
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Toast.makeText(getActivity(),“Failed!!!”,Toast.LENGTH\u SHORT.show();
Log.d(“分配任务”、“未分配任务”);
progressDialog.disclose();;
}
});
}捕获(例外情况除外)
{
progressDialog.disclose();
例如toString();
}
}
});
返回myview;
}
@凌驾
public void onStart()
{
super.onStart();
}
public void initiaizeValues()
{
试一试{
cr.get().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(QuerySnapshot文档快照){
如果(!documentSnapshots.isEmpty())
{
List d=documentSnapshots.getDocuments();
文件;
字符串名称、描述;
对于(int i=0;i您正在从Firebase
异步获取数据,并使用空列表创建适配器
您必须在使用数据创建列表后创建适配器
,然后将适配器设置为微调器
。或者在获取数据并生成列表后,使用notifyDataSetChanged()
方法为数据集更改通知适配器
对于第一个微调器
:
cr.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot documentSnapshots) {
if(!documentSnapshots.isEmpty())
{
List<DocumentSnapshot> d = documentSnapshots.getDocuments();
DocumentSnapshot t;
String tname,description;
for(int i=0;i<d.size();i++)
{
t = d.get(i);
tname = t.getString("tname");
tasks.add(tname);
}
}
else
{
Toast.makeText(getActivity(),"No Task !!!",Toast.LENGTH_LONG).show();
}
adp1 = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_dropdown_item,tasks);
sp1.setAdapter(adp1);
}
});
cr.get().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(QuerySnapshot文档快照){
如果(!documentSnapshots.isEmpty())
{
List d=documentSnapshots.getDocuments();
文件;
字符串名称、描述;
对于(int i=0;i首先,对代码进行适当的格式化。您有什么问题?您不能发布所有代码(而且格式不好),希望我们自动提供解决方案。