2017-04-23 12 views
1

FirstScreenSecondScreen의 두 가지 액티비티가 포함되어 있습니다. FirstScreen에는 NumberPicker np1toSecondScreen 버튼이 있습니다. toSecondScreen 버튼을 누르면 앱에 SecondScreen 액티비티가 전송되고 여기에는 NumberPicker np1sc도 포함됩니다.다른 액티비티의 NumberPicker에 NumberPicker 값 표시

은 무엇 임 달성하기 위해 노력하는 것은 FirstScreen의 NumberPicker np1에서 선택한 값을 얻고 SecondScreen의 NumberPicker np2에 표시됩니다.

지금까지 시도한 방법이 잘못 사용 된 것 같습니다. 코드는 아래에 해당 오류 메시지와 함께 제공됩니다. 방법 setDisplayedValues(string1)을 사용하여 두 번째 활동에 대한

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() in NumberPicker cannot be applied to (java.lang.String) 내가 어떻게 든 밖으로 준다 오류를 이해하지만 제대로 더 이상 방법을 사용하는 방법을 모른다 .

답변

1

setDisplayedValues() 방법은 문자열 배열을 (API에 대한 here)을 보면 받아, 그래서 아래와 같이 문자열 배열에 string1을 변환하고 전달해야

np1sc.setDisplayedValues(new String[] {string1});//pass string array 
+0

좋아, 내가 이것을 시도 할 것이다. 정보 주셔서 감사합니다 :) –

+0

나는 그것이 OP가하려고하는 것 같지 않아요. 나는 그들이 두 번째'Activity'에서 _selected_ 값을 설정하려고 시도하는 것일 뿐이지, 표시 값이 아니라고 생각합니다. –

+0

그래, 내가하려고하는 것이지만, 지금 당장 나는 혼란 스럽다. 선택한 값을 두 번째 활동의 번호 선택 도구에서 표시하는 것과 선택한 값을 설정하는 것의 차이점은 무엇입니까? –