좋아, 나는 그것이 더 간단하고 내 이전 게시물에 답변을 기반으로 업데이트 할했습니다 : Adding Assigned Values in Spinner NullPointerException[해결]
나는 MainAcitivty이은 ViewPager을 사용합니다. 나는 내가 회을 내 MainActivity 2 개 조각 (프라와 FragB) 내 프라에서
있습니다. FragB에있는 동안 나는 TextView 및 Button을 가지고 있습니다.
이제 내 회 전자에서 "Hello"를 선택하면 내 int a의 값은 5가됩니다. 그리고 단추를 클릭하면 5가 TextView에 표시됩니다. 여기
내 코드입니다 :프라
public class FragA extends Fragment {
Spinner spinner1;
String s1;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fraga, container, false);
spinner1 = (Spinner) view.findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter_a = ArrayAdapter.createFromResource(getActivity(), R.array.spinner1,android.R.layout.simple_spinner_item);
spinner1.setAdapter(adapter_a);
s1 = spinner1.getSelectedItem().toString();
return view;
}
public int getInt() {
int a = 0;
if(s1.equals("Hello")) {
a = 5;
}
return a;
}
}
MainActivity
public class MainActivity extends FragmentActivity {
ViewPager viewPager = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager)findViewById(R.id.pager);
FragmentManager fragmentManager = getSupportFragmentManager();
viewPager.setAdapter(new MyAdapter(fragmentManager));
}
public class MyAdapter extends FragmentStatePagerAdapter {
public MyAdapter (FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Fragment fragment = null;
if (i == 0)
{
fragment = new FragA();
}
if (i == 1)
{
fragment = new FragB();
}
return fragment;
}
@Override
public int getCount() {
return 2;
}
}
public String get() {
FragA FragA = new FragA();
return Integer.toString(FragA.getInt());
}
}
FragB
그런데 85,349,이 내 코드 때 나는 프라에서 FragB에의 값을 전달 아무 문제 : 내 스피너를 포함하지 않는,
public int getInt() {
int a = 5;
return a;
}
하지만 그게 내가하고 싶은 아니다 . 누군가가 내 문제에 대한 해결책을 줄 수 있기를 바랍니다. 언젠가 이걸 붙잡 았어. 미리 감사드립니다.
조각과 통신하는 데 문제가 없습니다. 내 문제는, 내가 그것을 옮기려고 할 때 스피너를 통해 설정 한 값이 NPE를 얻고 있다는 것입니다. – speedsir
NPE는 어떤 라인을 제공합니까? 어딘가에서 전체 프로젝트를 업로드 할 수 있습니까? – StarDust
여기에 "s1 = spinner1.getSelectedItem(). toString();" 내가 업로드 할 수있는 곳이 어디인지 모르겠다. 나를 위해 할거야? hehehe – speedsir