存储 Spinner 选项

3

我已经创建了三个下拉选择框,每个下拉选择框都有一些预设的选项。我将每个下拉选择框的值存储在一个变量中。问题是当我进入下一页时,我丢失了这些变量。那我该怎么办呢?

public class TabOneActivity extends Activity implements OnItemSelectedListener{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tabone);

        // Spinner element
        Spinner spinner = (Spinner) findViewById(R.id.fudtaste);

        // Spinner click listener
        spinner.setOnItemSelectedListener(this);

        // Spinner Drop down elements
        List<String> categories = new ArrayList<String>();
        categories.add("    Chineese");
        categories.add("    Fast Food");
        categories.add("    Traditional");
        categories.add("    Mixed");
        categories.add("    Favourites");
        categories.add("    Combo Items");

        //Toast.makeText(getApplicationContext(),newPos1,Toast.LENGTH_LONG).show();
     //  System.out.println(str + "sarath" );

        Spinner spinner2 = (Spinner) findViewById(R.id.foodmoney);

        // Spinner click listener
        spinner2.setOnItemSelectedListener(this);

        // Spinner Drop down elements
        List<String> categories2 = new ArrayList<String>();
        categories2.add("    Fast Food");
        categories2.add("    Pub Food");
        categories2.add("    High End Food");
//        categories2.add("    ");
//        categories2.add("    Music With Food");
//        categories2.add("    Enjoy The Food");
        int newPos2 = spinner2.getSelectedItemPosition();

        //Toast.makeText(getApplicationContext(),newPos2,Toast.LENGTH_LONG).show();
        System.out.println(newPos2 + "sarath" );

        Spinner spinner3 = (Spinner) findViewById(R.id.transport);

        // Spinner click listener
        spinner3.setOnItemSelectedListener(this);

        // Spinner Drop down elements
        List<String> categories3 = new ArrayList<String>();
        categories3.add("    I'll Walk");
        categories3.add("    A Cab Please");
        categories3.add("    Limo!!");
        int newPos3 = spinner3.getSelectedItemPosition();

        //Toast.makeText(getApplicationContext(),newPos3,Toast.LENGTH_LONG).show();
        System.out.println(newPos3 + "sarath" );

        // Creating adapter for spinner
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
        ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories2);
        ArrayAdapter<String> dataAdapter3 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories3);

        // Drop down layout style - list view with radio button
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dataAdapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // attaching data adapter to spinner
        spinner.setAdapter(dataAdapter);
        spinner2.setAdapter(dataAdapter2);
        spinner3.setAdapter(dataAdapter3);

        Button bt1 = (Button)findViewById(R.id.search1);
        bt1.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {
                    Intent j = new Intent(getApplicationContext(), PlanMyDayListActivity.class);
                    j.putExtra("tab", 1);

                    startActivity(j);
            }
        });
    }

//  public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//      // On selecting a spinner item
//      String item = parent.getItemAtPosition(position).toString();
//      
////         Context mContext = null;
////        Toast.makeText(mContext,item,Toast.LENGTH_SHORT).show();
//      Toast.makeText(getApplicationContext(),item,Toast.LENGTH_LONG).show();
//
//  }
    public void onNothingSelected(AdapterView<?> arg0) {
    }

    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    }
}
3个回答

2

尝试新的

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    TextView tv = (TextView)arg1;
    String str=tv.getText().toString();
}

是的,这很完美,现在我可以将值存储到变量中,非常感谢。 - Hybrid Developer
但是还有一个问题,我无法将不同的下拉列表值存储在不同的字符串变量中。在您的语句中,它会同时将两个下拉列表选择值存储在单个字符串中。 - Hybrid Developer
如果你需要理解下面的代码,你必须要知道编程语言!编程语言太棒了!它非常优秀! - Niko

0

这是您查询的完整解决方案。如果您对此有任何疑问,请告诉我。

import android.widget.Toast;

public class TabOneActivity extends Activity implements OnItemSelectedListener{

    List<String> categories,categories2,categories3;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tabone);

        // Spinner element
        Spinner spinner = (Spinner) findViewById(R.id.fudtaste);

        // Spinner click listener
        spinner.setOnItemSelectedListener(this);

        // Spinner Drop down elements
         categories = new ArrayList<String>();
        categories.add("    Chineese");
        categories.add("    Fast Food");
        categories.add("    Traditional");
        categories.add("    Mixed");
        categories.add("    Favourites");
        categories.add("    Combo Items");

        //Toast.makeText(getApplicationContext(),newPos1,Toast.LENGTH_LONG).show();
        //  System.out.println(str + "sarath" );

        Spinner spinner2 = (Spinner) findViewById(R.id.foodmoney);

        // Spinner click listener
        spinner2.setOnItemSelectedListener(this);

        // Spinner Drop down elements
         categories2 = new ArrayList<String>();
        categories2.add("    Fast Food");
        categories2.add("    Pub Food");
        categories2.add("    High End Food");
        //        categories2.add("    ");
        //        categories2.add("    Music With Food");
        //        categories2.add("    Enjoy The Food");
        int newPos2 = spinner2.getSelectedItemPosition();

        //Toast.makeText(getApplicationContext(),newPos2,Toast.LENGTH_LONG).show();
        System.out.println(newPos2 + "sarath" );

        Spinner spinner3 = (Spinner) findViewById(R.id.transport);

        // Spinner click listener
        spinner3.setOnItemSelectedListener(this);

        // Spinner Drop down elements
         categories3 = new ArrayList<String>();
        categories3.add("    I'll Walk");
        categories3.add("    A Cab Please");
        categories3.add("    Limo!!");
        int newPos3 = spinner3.getSelectedItemPosition();

        //Toast.makeText(getApplicationContext(),newPos3,Toast.LENGTH_LONG).show();
        System.out.println(newPos3 + "sarath" );

        // Creating adapter for spinner
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
        ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories2);
        ArrayAdapter<String> dataAdapter3 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories3);

        // Drop down layout style - list view with radio button
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dataAdapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // attaching data adapter to spinner
        spinner.setAdapter(dataAdapter);
        spinner2.setAdapter(dataAdapter2);
        spinner3.setAdapter(dataAdapter3);

        Button bt1 = (Button)findViewById(R.id.search1);
        bt1.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {
                Intent j = new Intent(getApplicationContext(), PlanMyDayListActivity.class);
                j.putExtra("tab", 1);

                startActivity(j);
            }
        });
    }

    //  public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    //      // On selecting a spinner item
    //      String item = parent.getItemAtPosition(position).toString();
    //      
    ////         Context mContext = null;
    ////        Toast.makeText(mContext,item,Toast.LENGTH_SHORT).show();
    //      Toast.makeText(getApplicationContext(),item,Toast.LENGTH_LONG).show();
    //
    //  }
    public void onNothingSelected(AdapterView<?> arg0) {
    }

    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

        switch(arg1.getId()){
        case R.id.fudtaste:
        {
            Toast.makeText(getApplicationContext(),"spinner clicked value: "+categories.get(arg2),Toast.LENGTH_LONG).show();
            break;
        }
        case R.id.foodmoney:
        {
            Toast.makeText(getApplicationContext(),"spinner2 clicked value: "+categories2.get(arg2),Toast.LENGTH_LONG).show();
            break;
        }
        case R.id.transport:
        {
            Toast.makeText(getApplicationContext(),"spinner3 clicked value: "+categories3.get(arg2),Toast.LENGTH_LONG).show();
            break;
        }
        }

    }

}

0

抱歉回复晚了,伙计!

使用共享偏好(shared preference)


poda potta njan chothichathu engana spinneril select chaitha value get cheyyunnathu ennaanu - Hybrid Developer
程序员们都知道这句话的含义! - Niko
我不喜欢为那些不会授权的英语翻译工作,即使是Balavishnu也不行。 - Hybrid Developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接