Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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 当我从下拉列表中选择项目时,我的微调器不显示任何值_Java_Android_Android Spinner - Fatal编程技术网

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 =

这是我的java代码

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首先,对代码进行适当的格式化。您有什么问题?您不能发布所有代码(而且格式不好),希望我们自动提供解决方案。