调用从另一个类捐赠异常的微调 [英] calling a spinner from another class giving exception
问题描述
我有两个类:DineOutActivity.java和Userpersonal的.java
我有一个微调的DineOutActivity.java定义(spinner1)
I have two classes : DineOutActivity.java and Userpersonal .java I HAVE a spinner(spinner1) defined in DineOutActivity.java
我创建一个方法,使在UserPersonal.java点击图片
I am creating a method , so that on image click in UserPersonal.java
和调用离心方法。这样,当我从DineOutActivity.java点击spinner1,来到用户Personal.java,然后点击提交就会重定向到另一个页面。
and calling the spinner method. so as when i click spinner1 from DineOutActivity.java and come to User Personal.java and then click submit it will redirect to another page.
这是我的DineOutActivity.java
here is my DineOutActivity.java
public class DineOutActivity extends Activity {
Spinner sp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/********************spinner***********/
Spinner food = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> foodadapter = ArrayAdapter.createFromResource(
this, R.array.item_array, android.R.layout.simple_spinner_item);
foodadapter.setDropDownViewResource(R.layout.spinner_layout);
food.setAdapter(foodadapter);
}
这是我的UsePersonal.java
this is my UsePersonal.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.userpersonal);
}
public void spinner()
{ DineOutActivity doa = new DineOutActivity() ;
Spinner food = doa.sp;
food.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
if(pos ==3)
{
Intent select = new Intent();
select.setClass(getBaseContext(), PizzaHut.class);
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}
public void onClick(View view)
{ spinner();
}
05-04 18:49:32.617: E/AndroidRuntime(24237): FATAL EXCEPTION: main
05-04 18:49:32.617: E/AndroidRuntime(24237): java.lang.IllegalStateException: Could not execute method of the activity
05-04 18:49:32.617: E/AndroidRuntime(24237): at android.view.View$1.onClick(View.java:2144)
05-04 18:49:32.617: E/AndroidRuntime(24237): at android.view.View.performClick(View.java:2485)
05-04 18:49:32.617: E/AndroidRuntime(24237): at android.view.View$PerformClick.run(View.java:9080)
05-04 18:49:32.617: E/AndroidRuntime(24237): at android.os.Handler.handleCallback(Handler.java:587)
05-04 18:49:32.617: E/AndroidRuntime(24237): at android.os.Handler.dispatchMessage(Handler.java:92)
05-04 18:49:32.617: E/AndroidRuntime(24237): at android.os.Looper.loop(Looper.java:130)
05-04 18:49:32.617: E/AndroidRuntime(24237): at android.app.ActivityThread.main(ActivityThread.java:3687)
05-04 18:49:32.617: E/AndroidRuntime(24237): at java.lang.reflect.Method.invokeNative(Native Method)
05-04 18:49:32.617: E/AndroidRuntime(24237): at java.lang.reflect.Method.invoke(Method.java:507)
05-04 18:49:32.617: E/AndroidRuntime(24237): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
05-04 18:49:32.617: E/AndroidRuntime(24237): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
05-04 18:49:32.617: E/AndroidRuntime(24237): at dalvik.system.NativeStart.main(Native Method)
05-04 18:49:32.617: E/AndroidRuntime(24237): Caused by: java.lang.reflect.InvocationTargetException
05-04 18:49:32.617: E/AndroidRuntime(24237): at java.lang.reflect.Method.invokeNative(Native Method)
05-04 18:49:32.617: E/AndroidRuntime(24237): at java.lang.reflect.Method.invoke(Method.java:507)
05-04 18:49:32.617: E/AndroidRuntime(24237): at android.view.View$1.onClick(View.java:2139)
05-04 18:49:32.617: E/AndroidRuntime(24237): ... 11 more
05-04 18:49:32.617: E/AndroidRuntime(24237): Caused by: java.lang.NullPointerException
05-04 18:49:32.617: E/AndroidRuntime(24237): at com.crews.dineout.UserPersonal.spinner(UserPersonal.java:63)
05-04 18:49:32.617: E/AndroidRuntime(24237): at com.crews.dineout.UserPersonal.onClick(UserPersonal.java:83)
05-04 18:49:32.617: E/AndroidRuntime(24237): ... 14 more
我对UserPersonal.java food.setOnItemSelectedListener(新OnItemSelectedListener(){
I am having exception on UserPersonal.java food.setOnItemSelectedListener(new OnItemSelectedListener() {
推荐答案
您的活动您引用到正在使用的关键字创建新
- > DineOutActivity DOA =新DineOutActivity()
Your activity you are referencing to is created using the keyword "new"
-> DineOutActivity doa = new DineOutActivity()
活动都有自己的生命周期和使用意图创建!
Activities have their own lifecycle and are creating using intents!
请参阅
http://developer.android.com/reference/android/app/Activity.html
所以你没有说话的权利对象,因为这个活动既没有布局,也不会通过运行的onCreate()
。
Therefore you do not talk to the right object because this activity neither has a layout, nor does it run through onCreate()
.
这篇关于调用从另一个类捐赠异常的微调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!