1

如何从 SeekBar 获取值并将它们作为意图传递给另一个活动


我有如下三个 seekBar

  • 价格条
  • 距离条
  • 评分栏

  1. 我想从三个搜索栏中获取选定的值,并将它们作为意图传递给另一个活动DoneIntent
  2. 如何做到这一点

过滤器.java

public class Filters extends Activity implements OnSeekBarChangeListener{

    // declare text objects variables
    private SeekBar PRICEbar,DISTANCEbar, RATINGbar; 
    private TextView PRICEtextProgress,DISTANCEtextProgress, RATINGtextProgress;

    Button back;
    Button Done;


    private RadioGroup rdg;
    private RadioButton indian;
    private RadioButton thai;
    private RadioButton chinese;


    private String selectedType="";



    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        // load the layout
        setContentView(R.layout.filters);   


        /** Finding all the views in this Activity. */
        back=(Button) findViewById(R.id.TopNavigationBarFilterBackButton);




        Done=(Button) findViewById(R.id.SEARCH_BUTTON_ID);
        Done.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                Intent DoneIntent=new Intent(Filters.this,AndroidTabRestaurantDescFilterListView.class);

                DoneIntent.putExtra("REST1",selectedType);
                startActivity(DoneIntent);
            }
        });



        PRICEbar = (SeekBar)findViewById(R.id.PRICEseekBarID); // make seekbar object
        PRICEbar.setOnSeekBarChangeListener(this); 
        PRICEbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                // TODO Auto-generated method stub
                PRICEtextProgress = (TextView)findViewById(R.id.PRICEtextViewProgressID);
                PRICEtextProgress.setText("Price:: Rs "+progress);
                seekBar.setMax(100);

            }
        });




}
4

1 回答 1

2

用于PRICEbar.getProgress();获取搜索栏的当前值。然后使用以下代码将它们作为意图传递:

Intent intent = new Intent(MainActivity.this, YourNewActivity.class);
intent.PutExtra("PriceBar", PRICEbar.getProgress());
intent.PutExtra("DistanceBar", DISTANCEbar.getProgress());
intent.PutExtra("RatingBar", RATINGbar.getProgress());
startActivity(intent);
于 2013-10-21T05:38:28.117 回答