当我打算执行thirdactivity.class时,Logcat会这样说,这是什么意思? 活动已经建成。 但是当模仿时,编程停止了。
11-11 10:17:25.824: E/AndroidRuntime(3207): java.lang.NullPointerException
11-11 10:17:25.824: E/AndroidRuntime(3207): at com.example.andrappexp1.ThirdActivity$2.onItemSelected(ThirdActivity.java:58)
11-11 10:17:25.824: E/AndroidRuntime(3207): at android.widget.AdapterView.fireOnSelected(AdapterView.java:892)
11-11 10:17:25.824: E/AndroidRuntime(3207): at android.widget.AdapterView.access$200(AdapterView.java:49)
11-11 10:17:25.824: E/AndroidRuntime(3207): at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:860)
11-11 10:17:25.824: E/AndroidRuntime(3207): at android.os.Handler.handleCallback(Handler.java:730)
11-11 10:17:25.824: E/AndroidRuntime(3207): at android.os.Handler.dispatchMessage(Handler.java:92)
11-11 10:17:25.824: E/AndroidRuntime(3207): at android.os.Looper.loop(Looper.java:137)
11-11 10:17:25.824: E/AndroidRuntime(3207): at android.app.ActivityThread.main(ActivityThread.java:5103)
11-11 10:17:25.824: E/AndroidRuntime(3207): at java.lang.reflect.Method.invokeNative(Native Method)
11-11 10:17:25.824: E/AndroidRuntime(3207): at java.lang.reflect.Method.invoke(Method.java:525)
11-11 10:17:25.824: E/AndroidRuntime(3207): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-11 10:17:25.824: E/AndroidRuntime(3207): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-11 10:17:25.824: E/AndroidRuntime(3207): at dalvik.system.NativeStart.main(Native Method)
第三个活动类中的微调器是这样的,
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
this.mAdapter = ArrayAdapter.createFromResource(this, R.array.Cities,
android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(this.mAdapter);
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
// TODO Auto-generated method stub
//Toast.makeText(parent.getContext(),"The planet is " + parent.getItemAtPosition(pos).toString(),Toast.LENGTH_LONG).show();
textViewa.setText("You choose :"+ " " + mAdapter.getItem(arg2));
arg0.setVisibility(View.VISIBLE);
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
textViewa.setText("NONE");
arg0.setVisibility(View.VISIBLE);
}
});
我怀疑textviewa的陈述确实是一个问题。我把它改成烤面包,就像这个:
toast = Toast.makeText(getApplicationContext(), "Defined Toast",
Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
一切都好。
现在我找到了忘记绑定来自Id的txtview的原因。这是我的粗心大意。现在添加声明:
TextView textViewa=(TextView) findViewById(R.Id.textView1);
他们表现得很完美。
谢谢你。
答案 0 :(得分:1)
确定然后使用此代码获取Spinner选择:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
System.out.println();
textViewa.setText("You choose :"+ " " + ((TextView) arg1).getText().toString());
}
答案 1 :(得分:1)
现在我找到了忘记绑定来自Id的txtview的原因。这是我的粗心大意。现在添加声明:
TextView textViewa=(TextView) findViewById(R.Id.textView1);
他们表现得很完美。谢谢你。