如何处理 NumberPicker Value 的变化?
How to handle NumberPicker Value change?
我有一个包含游戏名称的 NumberPicker
。
问题是我希望每次有人滚动 NumberPicker
并停在其中一个标题时,我将能够立即处理此操作并用我想要的信息填充 2 EditText
。
按下按钮时,每次在视图上按下 Button
时都会处理 void onClick(View view)
,如何使用 NumberPicker
做类似的事情?
这是我的代码:
NumberPicker picker;
SharedPreferences sp;
String JsonDataGL;
String[] arrayGL;
ProgressDialog p;
GamesLibrary[] gamesArray;
String Count = "0";
EditText gameTitleET, gameContentET;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_post);
sp=getSharedPreferences("JsonData", 0);
JsonDataGL = sp.getString("JsonGL", null);
gameTitleET = findViewById(R.id.GameTitleET); //The 2 EditTexts I want to fill with text
gameContentET = findViewById(R.id.GameTitleET);
JSONObject json_data = null;
try {
json_data = new JSONObject(JsonDataGL);
} catch (JSONException e) {
e.printStackTrace();
}
try {
Count = json_data.getString("count");
Log.d("Nugi32", Count);
} catch (JSONException e) {
e.printStackTrace();
}
gamesArray = new GamesLibrary[Integer.parseInt(Count)];
picker = (NumberPicker) findViewById(R.id.numberPicker2);
picker.setMinValue(0);
picker.setMaxValue(Integer.parseInt(Count)-1);
arrayGL = new String[Integer.parseInt(Count)];
DownLoadJsonGL downLoadJsonGL = new DownLoadJsonGL();
downLoadJsonGL.execute(JsonDataGL); //Here The NumberPicker is filled with the titles
}
你知道我该怎么做吗?或引导我在线教程?
因为我在网上找不到关于这个话题的任何问题。
谢谢!
您是否为此尝试过值更改侦听器?当数字选择器中的值发生变化时,它将被调用。
https://developer.android.com/reference/android/widget/NumberPicker.OnValueChangeListener.html
void onValueChange (NumberPicker picker,
int oldVal,
int newVal)
如 documentation for NumberPicker
所示,
你可以使用
picker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal){
//Process the changes here
}
});
我有一个包含游戏名称的 NumberPicker
。
问题是我希望每次有人滚动 NumberPicker
并停在其中一个标题时,我将能够立即处理此操作并用我想要的信息填充 2 EditText
。
按下按钮时,每次在视图上按下 Button
时都会处理 void onClick(View view)
,如何使用 NumberPicker
做类似的事情?
这是我的代码:
NumberPicker picker;
SharedPreferences sp;
String JsonDataGL;
String[] arrayGL;
ProgressDialog p;
GamesLibrary[] gamesArray;
String Count = "0";
EditText gameTitleET, gameContentET;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_post);
sp=getSharedPreferences("JsonData", 0);
JsonDataGL = sp.getString("JsonGL", null);
gameTitleET = findViewById(R.id.GameTitleET); //The 2 EditTexts I want to fill with text
gameContentET = findViewById(R.id.GameTitleET);
JSONObject json_data = null;
try {
json_data = new JSONObject(JsonDataGL);
} catch (JSONException e) {
e.printStackTrace();
}
try {
Count = json_data.getString("count");
Log.d("Nugi32", Count);
} catch (JSONException e) {
e.printStackTrace();
}
gamesArray = new GamesLibrary[Integer.parseInt(Count)];
picker = (NumberPicker) findViewById(R.id.numberPicker2);
picker.setMinValue(0);
picker.setMaxValue(Integer.parseInt(Count)-1);
arrayGL = new String[Integer.parseInt(Count)];
DownLoadJsonGL downLoadJsonGL = new DownLoadJsonGL();
downLoadJsonGL.execute(JsonDataGL); //Here The NumberPicker is filled with the titles
}
你知道我该怎么做吗?或引导我在线教程? 因为我在网上找不到关于这个话题的任何问题。 谢谢!
您是否为此尝试过值更改侦听器?当数字选择器中的值发生变化时,它将被调用。 https://developer.android.com/reference/android/widget/NumberPicker.OnValueChangeListener.html
void onValueChange (NumberPicker picker,
int oldVal,
int newVal)
如 documentation for NumberPicker
所示,
你可以使用
picker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal){
//Process the changes here
}
});