如何管理两个微调器setOnItemSelectedListener android



我在同一个片段中使用了两个微调器,当第一个微调器完成其任务时,只有setOnItemSelectedListener会调用第二个微调器。

问题:但问题是设置在项目选定侦听器同时调用两个微调器。我该如何管理。:(

我想

做什么:我想在页面加载时绘制一个图形,微调器 1 将绘制不同的图形,微调器 2 将绘制不同的图形页面加载。

任何帮助将不胜感激。

为什么两个微调器都有相同的setOnItemSelectedListener。

具有这样的结构:

spinner1.setOnItemSelectedListener(new OnItemSelectedListener() 
{
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) 
    {
        func1();
    }
    @Override
    public void onNothingSelected(AdapterView<?> parentView) 
    {
        Toast.makeText(topThis, "herf", Toast.LENGTH_LONG).show();
    }
});

spinner2.setOnItemSelectedListener(new OnItemSelectedListener() 
{
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) 
    {
        func2();
    }
    @Override
    public void onNothingSelected(AdapterView<?> parentView) 
    {
        Toast.makeText(topThis, "herf", Toast.LENGTH_LONG).show();
    }
});

private void func1()
{
//do task of spinner1
}
    private void func2()
    {
    //your task for second spinner
    }
spinnerLeft = (Spinner) getActivity().findViewById(R.id.spinner_left);
    dataAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_item, arrayList);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinnerLeft.setAdapter(dataAdapter);
spinerRight = (Spinner) getActivity().findViewById(R.id.spinner_right);
    rightSpinnerAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_item, arrayList);
    rightSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinerRight.setAdapter(rightSpinnerAdapter);

这是我的两个微调器,我在onActivityCreated上调用d。

spinerRight.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long arg3) { 
// here I called a method to download a chart and showing below 1st spinner

AppGlobals.getInstance().checkSpinner = 1; }

private void addListenerOnSpinnerLeftItemSelection() {
    spinnerLeft.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long arg3) {
 //here I m called the same method to download and show chart below 2nd spinner 

AppGlobals.getInstance().checkSpinner = 1; }

但在完成第一个微调器功能之前,第二个微调器调用。我只有 int 值,因此当两个微调器都称为 int 值时,我会分辨出区别。

if (AppGlobals.getInstance().checkSpinner == 1) {
        chartArea = (LinearLayout) getActivity().findViewById(R.id.chart);
    } else if (AppGlobals.getInstance().checkSpinner == 0) {
        chartArea = (LinearLayout) getActivity().findViewById(R.id.pie_chart);
    }

相关内容

  • 没有找到相关文章

最新更新