【发布时间】:2013-12-09 19:51:51
【问题描述】:
我有一个带有微调器、按钮和文本视图的片段。
我的微调器有一串 Mansanas 和 Pakwan。
我无法解释清楚。我的代码只会解释我想要做什么。哈哈。这是我的代码:
片段A:
public class FragmentA extends Fragment {
Spinner spinner1;
Button button2;
TextView textView6;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragmenta, container, false);
textView6 = (TextView)v.findViewById(R.id.text6);
button2 = (Button)v.findViewById(R.id.button2);
button2.setOnClickListener(Click);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
spinner1 = (Spinner) getActivity().findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter_a = ArrayAdapter.createFromResource(getActivity(), R.array.spinner1,android.R.layout.simple_spinner_item );
spinner1.setAdapter(adapter_a);
}
OnClickListener Click = new OnClickListener(){
@Override
public void onClick(View v) {
int a;
Spinner spinner1 = (Spinner) v.findViewById(R.id.spinner1);
String s1 = spinner1.getSelectedItem().toString();
if(s1.equals("Mansanas")) {
a = 5;
textView6.setText(Integer.toString(a));
}
else if(s1.equals("Pakwan")) {
a = 10;
textView6.setText(Integer.toString(a));
}
}
};
}
LogCat:
12-10 03:50:34.601: E/AndroidRuntime(31368): FATAL EXCEPTION: main
12-10 03:50:34.601: E/AndroidRuntime(31368): java.lang.NullPointerException
12-10 03:50:34.601: E/AndroidRuntime(31368): at ljc.test.FragmentA$1.onClick(FragmentA.java:51)
12-10 03:50:34.601: E/AndroidRuntime(31368): at android.view.View.performClick(View.java:4212)
12-10 03:50:34.601: E/AndroidRuntime(31368): at android.view.View$PerformClick.run(View.java:17476)
12-10 03:50:34.601: E/AndroidRuntime(31368): at android.os.Handler.handleCallback(Handler.java:800)
12-10 03:50:34.601: E/AndroidRuntime(31368): at android.os.Handler.dispatchMessage(Handler.java:100)
12-10 03:50:34.601: E/AndroidRuntime(31368): at android.os.Looper.loop(Looper.java:194)
12-10 03:50:34.601: E/AndroidRuntime(31368): at android.app.ActivityThread.main(ActivityThread.java:5371)
12-10 03:50:34.601: E/AndroidRuntime(31368): at java.lang.reflect.Method.invokeNative(Native Method)
12-10 03:50:34.601: E/AndroidRuntime(31368): at java.lang.reflect.Method.invoke(Method.java:525)
12-10 03:50:34.601: E/AndroidRuntime(31368): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
12-10 03:50:34.601: E/AndroidRuntime(31368): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
12-10 03:50:34.601: E/AndroidRuntime(31368): at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
在 onclick 中,v 是您的按钮。你在里面找不到微调器。
-
第 51 行是什么
FragmentA.java -
哦..大声笑。好的。多谢。呵呵。我忘了它必须是 getActivity()
-
@Raghunandan - 我使用了你的答案,但你删除了它
标签: android variables android-fragments android-spinner