該應用程序包含兩個活動,FirstScreen
和SecondScreen
。 FirstScreen
包含NumberPicker np1
和一個按鈕toSecondScreen
。按下按鈕toSecondScreen
將把應用程序轉移到活動SecondScreen
,該活動還包含一個NumberPicker np1sc
。向其他活動的NumberPicker顯示NumberPicker值
什麼我試着去實現的就是從FirstScreen
的NumberPicker np1
選擇的值,並將其顯示在SecondScreen
的NumberPicker np2
。
到目前爲止,我試過的方法似乎被錯誤地使用。代碼在下面給出相應的錯誤信息。
FirstScreen.java
public class FirstScreen extends AppCompatActivity {
Button toSecondScreen;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first_screen);
final NumberPicker np1 = (NumberPicker) findViewById(R.id.NP1);
np1.setMinValue(0);
np1.setMaxValue(5);
np1.setWrapSelectorWheel(true);
Bundle localBundle = new Bundle();
localBundle.putInt("NumPicker2Val", Integer.valueOf(np1.getValue()));
Intent localIntent = new Intent(this, SecondScreen.class);
localIntent.putExtras(localBundle);
toSecondScreen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(v.getContext(), SecondScreen.class);
startActivityForResult(myIntent, 0);
}
});
}
}
對於第二個活動,
SecondScreen.java
public class SecondScreen extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second_screen);
final NumberPicker np1sc = (NumberPicker) findViewById(R.id.NP1SC);
np1sc.setMinValue(0);
np1sc.setMaxValue(5);
np1sc.setWrapSelectorWheel(true);
String string1 = getIntent().getStringExtra("NumPicker2Val");
np1sc.setDisplayedValues(string1);
}
}
使用方法setDisplayedValues(string1)
給我一個消息:setDisplayedValues() in NumberPicker cannot be applied to (java.lang.String)
我似乎明白它給出了錯誤,但我不知道如何正確使用方法了。
好吧,我會試試這個。感謝您的信息:) –
我不認爲這是OP正在嘗試做什麼。我認爲他們只是試圖在第二個「活動」中設置_selected_值,而不是顯示值。 –
是的,這就是我試圖做的,但我現在有點困惑。從顯示選定值到第二個活動的數字選擇器,設置選定值的區別是什麼? –