安卓学习第29课——numberPicker

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
<TableRow 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:text="选择低价" />

    <NumberPicker
        android:id="@+id/np1"
        android:layout_width="wrap_content"
    android:layout_height="80dp"
    android:focusable="true"
    android:focusableInTouchMode="true" />
    
</TableRow>
<TableRow >

<TextView
    android:layout_width="120dp"
    android:layout_height="wrap_content"
    android:text="选择高价" />

<NumberPicker
    android:id="@+id/np2"
    android:layout_width="wrap_content"
    android:layout_height="80dp"
    android:focusable="true"
    android:focusableInTouchMode="true" />
</TableRow>

</TableLayout>

这里面用到了TableLayout

package com.example.numberpicker;

import android.app.Activity;
import android.os.Bundle;
import android.widget.NumberPicker;
import android.widget.NumberPicker.OnValueChangeListener;
import android.widget.Toast;

public class MainActivity extends Activity {

    NumberPicker np1,np2;
    int minPrice=25,maxPrice=75;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        np1=(NumberPicker) findViewById(R.id.np1);
        np1.setMinValue(10);
        np1.setMaxValue(50);
        np1.setValue(minPrice);//设置当前值
        np1.setOnValueChangedListener(new OnValueChangeListener(){

            @Override
            public void onValueChange(NumberPicker picker, int oldVal,
                    int newVal) {
                minPrice=newVal;
                showSelectedPrice();
            }
            
        });
        np2=(NumberPicker) findViewById(R.id.np2);
        np2.setMinValue(60);
        np2.setMaxValue(100);
        np2.setValue(maxPrice);
        np2.setOnValueChangedListener(new OnValueChangeListener(){

            @Override
            public void onValueChange(NumberPicker picker, int oldVal,
                    int newVal) {
                maxPrice=newVal;
                showSelectedPrice();
            }});
    }
    private void showSelectedPrice() {
        Toast.makeText(this, "您选择最低价格为:"+minPrice+",最高价格为"+maxPrice,Toast.LENGTH_SHORT).show();
        
    }

}

记住需要设置最大值、最小值和当前值,还要有对应的事件监听。

原文地址:https://www.cnblogs.com/Yvettey-me/p/3969787.html