本文将带您了解关于java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'booleanjava.lang.String.equals的新内容,同时我们还将为您解
本文将带您了解关于java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'booleanjava.lang.String.equals的新内容,同时我们还将为您解释java.lang.Object'的相关知识,另外,我们还将为您提供关于Android sdk:java.lang.NullPointerException:尝试调用虚方法、android – java.lang.NullPointerException:尝试在空对象引用上调用虚方法’java.io.File com.parse.ParsePlugins.getParseDir()’、android – 尝试在空对象引用上调用虚方法’int java.lang.Object.hashCode()’、android – 由:java.lang.NullPointerException引起:尝试在空对象引用上调用虚方法’void …的实用信息。
本文目录一览:- java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'booleanjava.lang.String.equals(java.lang.Object)'
- Android sdk:java.lang.NullPointerException:尝试调用虚方法
- android – java.lang.NullPointerException:尝试在空对象引用上调用虚方法’java.io.File com.parse.ParsePlugins.getParseDir()’
- android – 尝试在空对象引用上调用虚方法’int java.lang.Object.hashCode()’
- android – 由:java.lang.NullPointerException引起:尝试在空对象引用上调用虚方法’void …
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'booleanjava.lang.String.equals(java.lang.Object)'
运行我的项目时出现错误。
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.olympic/com.prima.olympic.ProductDetail}: java.lang.NullPointerException: Attempt to invoke virtual method ''boolean java.lang.String.equals(java.lang.Object)'' on a null object reference
这是完整的日志:
06-06 23:12:45.561: E/AndroidRuntime(17135): FATAL EXCEPTION: main06-06 23:12:45.561: E/AndroidRuntime(17135): Process: com.example.olympic, PID: 1713506-06 23:12:45.561: E/AndroidRuntime(17135): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.olympic/com.prima.olympic.ProductDetail}: java.lang.NullPointerException: Attempt to invoke virtual method ''boolean java.lang.String.equals(java.lang.Object)'' on a null object reference06-06 23:12:45.561: E/AndroidRuntime(17135): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693)06-06 23:12:45.561: E/AndroidRuntime(17135): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758)06-06 23:12:45.561: E/AndroidRuntime(17135): at android.app.ActivityThread.access$900(ActivityThread.java:177)06-06 23:12:45.561: E/AndroidRuntime(17135): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)06-06 23:12:45.561: E/AndroidRuntime(17135): at android.os.Handler.dispatchMessage(Handler.java:102)06-06 23:12:45.561: E/AndroidRuntime(17135): at android.os.Looper.loop(Looper.java:145)06-06 23:12:45.561: E/AndroidRuntime(17135): at android.app.ActivityThread.main(ActivityThread.java:5942)06-06 23:12:45.561: E/AndroidRuntime(17135): at java.lang.reflect.Method.invoke(Native Method)06-06 23:12:45.561: E/AndroidRuntime(17135): at java.lang.reflect.Method.invoke(Method.java:372)06-06 23:12:45.561: E/AndroidRuntime(17135): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389)06-06 23:12:45.561: E/AndroidRuntime(17135): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184)06-06 23:12:45.561: E/AndroidRuntime(17135): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ''boolean java.lang.String.equals(java.lang.Object)'' on a null object reference06-06 23:12:45.561: E/AndroidRuntime(17135): at com.prima.olympic.ProductDetail.onCreate(ProductDetail.java:85)06-06 23:12:45.561: E/AndroidRuntime(17135): at android.app.Activity.performCreate(Activity.java:6289)06-06 23:12:45.561: E/AndroidRuntime(17135): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)06-06 23:12:45.561: E/AndroidRuntime(17135): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
这是我的ProductDetail.java
public class ProductDetail extends Activity {Button btnAddtoShoppingList;Button btnDeleteShoppingList;TextView detail_productType;TextView detail_wdh;TextView detail_volume;TextView detail_weight;TextView detail_cont20;TextView detail_cont40;TextView detail_pack;TextView detail_quantity;TextView detail_colour;TextView detail_cetegories;TextView detail_series;TextView detail_price;ImageView detail_imageView;String shown_id, shown_type, shown_wdh, shown_volume, shown_weight, shown_cont20, shown_cont40, shown_pack, shown_quantity, shown_colour, shown_categories, shown_series, shown_price;String customer_id, error_message ;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_product_detail); btnAddtoShoppingList = (Button)findViewById(R.id.btnAddtoShoppingList); btnDeleteShoppingList = (Button)findViewById(R.id.btnDeleteShoppingList); SharedPreferences userInformation = getApplicationContext().getSharedPreferences("userinfo", 0); customer_id = userInformation.getString("customer_id", "none"); detail_productType = (TextView)findViewById(R.id.detail_productType); detail_wdh = (TextView)findViewById(R.id.detail_wdh); detail_volume = (TextView)findViewById(R.id.detail_volume); detail_weight = (TextView)findViewById(R.id.detail_weight); detail_cont20 = (TextView)findViewById(R.id.detail_cont20); detail_cont40 = (TextView)findViewById(R.id.detail_cont40); detail_pack = (TextView)findViewById(R.id.detail_pack); detail_quantity = (TextView)findViewById(R.id.detail_quantity); detail_colour = (TextView)findViewById(R.id.detail_colour); detail_cetegories = (TextView)findViewById(R.id.detail_categories); detail_series = (TextView)findViewById(R.id.detail_series); detail_price = (TextView)findViewById(R.id.detail_price); detail_imageView = (ImageView)findViewById(R.id.detail_imageView); // Get Value from previous activity Intent i = getIntent(); shown_id = i.getStringExtra("shown_id"); shown_type = i.getStringExtra("shown_type"); shown_wdh = i.getStringExtra("shown_wdh"); shown_volume = i.getStringExtra("shown_volume"); shown_weight = i.getStringExtra("shown_weight"); shown_cont20 = i.getStringExtra("shown_cont20"); shown_cont40 = i.getStringExtra("shown_cont40"); shown_pack = i.getStringExtra("shown_pack"); shown_quantity = i.getStringExtra("shown_quantity"); shown_colour = i.getStringExtra("shown_colour"); shown_categories = i.getStringExtra("shown_categories"); shown_series = i.getStringExtra("shown_series"); shown_price = i.getStringExtra("shown_price"); String checkOrigin = i.getStringExtra("from_activity"); if(checkOrigin.equals("shoppinglist")){ btnAddtoShoppingList.setVisibility(View.GONE); btnDeleteShoppingList.setVisibility(View.VISIBLE); } Bitmap bitmap = (Bitmap) i.getParcelableExtra("shown_bitmap"); detail_productType.setText("PRODUCT TYPE : "+shown_type); detail_wdh.setText("W x D x H : "+shown_wdh); detail_volume.setText("VOLUME : "+shown_volume); detail_weight.setText("WEIGHT : "+shown_weight); detail_cont20.setText("CONT20 : "+shown_cont20); detail_cont40.setText("CONT40 : "+shown_cont40); detail_pack.setText("PACK : "+shown_pack); detail_quantity.setText("QUANTITY : "+shown_quantity); detail_colour.setText("COLOUR : "+shown_colour); detail_cetegories.setText("CATEGORIES : "+shown_categories); detail_series.setText("SERIES : "+shown_series); detail_price.setText("PRICE : Rp "+shown_price); detail_imageView.setImageBitmap(bitmap); btnAddtoShoppingList.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { addtoShoppingListTask addtoShoppingList = new addtoShoppingListTask(); addtoShoppingList.execute((Void) null); } }); btnDeleteShoppingList.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { deleteShoppingListTask deletetoShoppingList = new deleteShoppingListTask(); deletetoShoppingList.execute((Void) null); } });}
谁能告诉我错误在哪里以及如何解决?如果有人可以帮助我,我将非常感激。
答案1
小编典典您的字符串checkOrigin
是null
这样给你一个NullPointerException
。这是导致它的原因:
String checkOrigin = i.getStringExtra("from_activity");if(checkOrigin.equals("shoppinglist")){ btnAddtoShoppingList.setVisibility(View.GONE); btnDeleteShoppingList.setVisibility(View.VISIBLE);}
字符串checkOrigin
是null
因为您没有从接收任何值Intent
。这可能是因为您忘记了传递以前的值Activity
。
但是,您可以检查一下String null
是否存在,那么将不会执行这些操作。您可以通过以下方式做到这一点:
String checkOrigin = i.getStringExtra("from_activity");if(checkOrigin != null && checkOrigin.equals("shoppinglist")){ btnAddtoShoppingList.setVisibility(View.GONE); btnDeleteShoppingList.setVisibility(View.VISIBLE);}
因此,如果checkOrigin
为null,则将不会执行这些操作。
但我建议您检查Activity
接收Intent
来自的消息,以确保Intent
正确发送和接收消息。
Android sdk:java.lang.NullPointerException:尝试调用虚方法
07-05 22:45:02.550 2821-2821/davvarn.csgo_maps E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: davvarn.csgo_maps,PID: 2821 java.lang.RuntimeException: Unable to start activity ComponentInfo{davvarn.csgo_maps/davvarn.csgo_maps.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setimageDrawable(android.graphics.drawable.Drawable)' on a null object reference at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2356) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2418) at android.app.ActivityThread.access$900(ActivityThread.java:154) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5289) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setimageDrawable(android.graphics.drawable.Drawable)' on a null object reference at davvarn.csgo_maps.MainActivity.changeContent(MainActivity.java:176) at davvarn.csgo_maps.MainActivity.onCreate(MainActivity.java:115) at android.app.Activity.performCreate(Activity.java:5990) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2309) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2418) at android.app.ActivityThread.access$900(ActivityThread.java:154) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5289) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
我真的不知道如何粘贴MainActivity文件,因为我是Stackoverflow的新手.请让我知道如何,我会尝试.
解决方法
ImageView imageView =(ImageView)findViewById(R.id.yourImageViewIDHere);
在onCreate调用setContentView之后,请执行此操作.
android – java.lang.NullPointerException:尝试在空对象引用上调用虚方法’java.io.File com.parse.ParsePlugins.getParseDir()’
这是代码:
ListView listview; List<ParSEObject> ob; ProgressDialog mProgressDialog; ArrayAdapter<String> adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_big_board); new RemoteDataTask().execute(); } private class RemoteDataTask extends AsyncTask<Void,Void,Void> { @Override protected void onPreExecute() { super.onPreExecute(); mProgressDialog = new ProgressDialog(BigBoard.this); mProgressDialog.setTitle("Parse.com Simple ListView Tutorial"); mProgressDialog.setMessage("Loading..."); mProgressDialog.setIndeterminate(false); mProgressDialog.show(); } @Override protected Void doInBackground(Void... params) { // Locate the class table named "Country" in Parse.com ParseQuery<ParSEObject> query = new ParseQuery<ParSEObject>( "Country"); query.orderByDescending("_created_at"); try { ob = query.find(); } catch (ParseException e) { Log.e("Error",e.getMessage()); e.printstacktrace(); } return null; } @Override protected void onPostExecute(Void result) { // Locate the listview in listview_main.xml listview = (ListView) findViewById(R.id.listview); // Pass the results into an ArrayAdapter adapter = new ArrayAdapter<String>(BigBoard.this,R.layout.listview_item); // Retrieve object "name" from Parse.com database for (ParSEObject country : ob) { adapter.add((String) country.get("Name")); } // Binds the Adapter to the ListView listview.setAdapter(adapter); // Close the progressdialog mProgressDialog.dismiss(); // Capture button clicks on ListView items listview.setonItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent,View view,int position,long id) { // Send single item click data to SingleItemView Class Intent i = new Intent(BigBoard.this,SingleItemView.class); // Pass data "name" followed by the position i.putExtra("name",ob.get(position).getString("name") .toString()); // Open SingleItemView.java Activity startActivity(i); } }); } }
这就是我在logcat中获得的:
> 10-22 20:40:18.705 12588-12872/obx.com.futurister E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #3 Process: obx.com.futurister,PID: 12588 java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:309) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) at java.util.concurrent.FutureTask.setException(FutureTask.java:223) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.File com.parse.ParsePlugins.getParseDir()' on a null object reference at com.parse.Parse.getParseDir(Parse.java:315) at com.parse.ParseCorePlugins.getCurrentUserController(ParseCorePlugins.java:129) at com.parse.ParseUser.getCurrentUserController(ParseUser.java:55) at com.parse.ParseUser.getCurrentUserAsync(ParseUser.java:888) at com.parse.ParseQuery.getUserAsync(ParseQuery.java:938) at com.parse.ParseQuery$3.call(ParseQuery.java:1196) at com.parse.ParseQuery$3.call(ParseQuery.java:1193) at com.parse.ParseQuery.doWithRunningCheck(ParseQuery.java:1132) at com.parse.ParseQuery.findAsync(ParseQuery.java:1193) at com.parse.ParseQuery.findInBackground(ParseQuery.java:1161) at com.parse.ParseQuery.find(ParseQuery.java:981) at obx.com.futurister.BigBoard$RemoteDataTask.doInBackground(BigBoard.java:66) at obx.com.futurister.BigBoard$RemoteDataTask.doInBackground(BigBoard.java:44) at android.os.AsyncTask$2.call(AsyncTask.java:295) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) 10-22 20:40:18.857 12588-12619/obx.com.futurister E/Surface﹕ getSlotFromBufferLocked: unkNown buffer: 0xb3a1fb90 10-22 20:40:18.955 12588-12619/obx.com.futurister E/Surface﹕ getSlotFromBufferLocked: unkNown buffer: 0xa96acbb0 10-22 20:40:18.996 12588-12588/obx.com.futurister E/WindowManager﹕ android.view.WindowLeaked: Activity obx.com.futurister.BigBoard has leaked window com.android.internal.policy.PhoneWindow$DecorView{a0f50b2 V.E...... R......D 0,0-1026,538} that was originally added here at android.view.ViewRootImpl.<init>(ViewRootImpl.java:368) at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:299) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85) at android.app.Dialog.show(Dialog.java:319) at obx.com.futurister.BigBoard$RemoteDataTask.onPreExecute(BigBoard.java:56) at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:604) at android.os.AsyncTask.execute(AsyncTask.java:551) at obx.com.futurister.BigBoard.onCreate(BigBoard.java:40) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
用doInBackground()方法猜测它的问题?我错过了什么吗?请帮忙,谢谢
解决方法
http://docs.parseplatform.org/android/guide/#local-datastore
public class App extends Application { @Override public void onCreate() { super.onCreate(); // Enable Local Datastore. Parse.enableLocalDatastore(this); // Register any ParSEObject subclass. Must be done before calling Parse.initialize() ParSEObject.registerSubclass(YourClass.class); Parse.initialize(this,"APPLICATION_ID","CLIENT_KEY"); } }
确保将App类添加到清单中
android – 尝试在空对象引用上调用虚方法’int java.lang.Object.hashCode()’
错误:
FATAL EXCEPTION: AsyncTask #4 Process:,PID: 4633 java.lang.NullPointerException: Attempt to invoke virtual method ''int java.lang.Object.hashCode()'' on a null object reference at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:746) at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:774) at com.facebook.internal.Utility.queryAppSettings(Utility.java:825) at com.facebook.login.widget.LoginButton$1.run(LoginButton.java:489) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) com.android.vlada.sportisa E/GoogleApiAvailability: Google Play services is invalid. Cannot recover.
码:
public class MainActivity extends AppCompatActivity implements Googleapiclient.OnConnectionFailedListener { private Button buttonRegistrujSe,buttonPrijaviSeKaoGost,buttonPrijavaRegistrovaniKorisnik; private LoginButton loginButton; private CallbackManager callbackManager; private TextView info; @Override protected void onCreate(Bundle savedInstanceState) { FacebookSdk.sdkInitialize(getApplicationContext()); setContentView(R.layout.activity_main); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FacebookSdk.sdkInitialize(getApplicationContext()); GoogleSignInoptions gso = new GoogleSignInoptions.Builder(GoogleSignInoptions.DEFAULT_SIGN_IN) .requestemail() .build(); Googleapiclient mGoogleapiclient; mGoogleapiclient = new Googleapiclient.Builder(this) .enableAutoManage(this /* FragmentActivity */,this /* OnConnectionFailedListener */) .addApi(Auth.GOOGLE_SIGN_IN_API,gso) .build(); buttonRegistrujSe = (Button) (findViewById(R.id.button_registruj_se)); buttonRegistrujSe.setonClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this,RegistrationActivity.class); startActivity(i); } }); buttonPrijaviSeKaoGost = (Button) (findViewById(R.id.button_prijavi_se_kao_gost)); buttonPrijaviSeKaoGost.setonClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i2 = new Intent(MainActivity.this,LoginGostActivity.class); startActivity(i2); } }); buttonPrijavaRegistrovaniKorisnik = (Button) (findViewById(R.id.button_prijava_registrovani_korisnik)); buttonPrijavaRegistrovaniKorisnik.setonClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i3 = new Intent(MainActivity.this,LoginActivity.class); startActivity(i3); } }); callbackManager = CallbackManager.Factory.create(); setContentView(R.layout.activity_main); info = (TextView)findViewById(R.id.info); loginButton = (LoginButton)findViewById(R.id.connectWithFbButton); loginButton.registerCallback(callbackManager,new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { info.setText( "User ID: " + loginResult.getAccesstoken().getUserId() + "\n" + "Auth Token: " + loginResult.getAccesstoken().getToken() ); } @Override public void onCancel() { info.setText("Login attempt canceled."); } @Override public void onError(FacebookException e) { info.setText("Login attempt Failed."); } }); } @Override protected void onActivityResult(int requestCode,int resultCode,Intent data) { callbackManager.onActivityResult(requestCode,resultCode,data); } @Override protected void onDestroy() { super.onDestroy(); System.exit(0); } @Override public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { } }
布局代码
<com.facebook.login.widget.LoginButton android:id="@+id/connectWithFbButton"android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_above="@+id/sign_in_button" android:layout_centerHorizontal="true" android:layout_marginBottom="43dp" />
更新:在我删除MainActivity中的重复代码后,我仍然在尝试运行应用程序时收到相同的错误.我也按照要求附加了Manifest代码,所以这可能有帮助吗?感谢名单
<?xml version="1.0" encoding="utf-8"?>
<!-- To auto-complete the email text field in the login form with the user''s emails --> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.READ_PROFILE" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.INTERNET" /> <permission android:name="com.android.vlada.sportisa.Entiteti.maps.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-feature android:glEsversion="0x00020000" android:required="true" /> <uses-permission android:name="com.android.vlada.sportisa.Entiteti.maps.permission.MAPS_RECEIVE" /> <Meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyAVb2JuN-5nbaVkGODivuXPJOF5OeRekzo" /> <Meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_login" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" /> <activity android:name=".SplashActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".RegistrationActivity" /> <activity android:name=".LoginActivity" /> <activity android:name=".BiranjeAktivnosti" /> <activity android:name=".Trazim" android:label="@string/title_activity_trazim" android:theme="@style/AppTheme" /> <activity android:name=".Organizujem" android:label="@string/title_activity_organizujem" android:theme="@style/AppTheme" /> <activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> </application>
解决方法
你现在拥有的是:
<Meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyAVb2JuN-5nbaVkGODivuXPJOF5OeRekzo" /> <Meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_login" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" /> <activity android:name=".SplashActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> ... </application>
像这样在应用程序标记内移动元数据
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <Meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyAVb2JuN-5nbaVkGODivuXPJOF5OeRekzo" /> <Meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_login" /> <activity android:name=".MainActivity" /> <activity android:name=".SplashActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> ... </application>
android – 由:java.lang.NullPointerException引起:尝试在空对象引用上调用虚方法’void …
这是我的代码.
public class MenuListActivity extends ListActivity { String MenuNames[] = {"Consultation","Medicine","diseases","Doctor"}; protected void onCreateView(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_menu_list); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,MenuNames); final ListView lv = (ListView) findViewById(R.id.listView1); lv.setAdapter(adapter); lv.setonItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent,View v,int position,long id) { if(position == 1) { //code specific to first list item Intent myIntent = new Intent(v.getContext(),ConsultationActivity.class); startActivity(myIntent); } } } ); }
logcat的.
10-12 10:53:37.572: E/AndroidRuntime(10605): FATAL EXCEPTION: main 10-12 10:53:37.572: E/AndroidRuntime(10605): Process: com.capstone.medicinehealthguide,PID: 10605 10-12 10:53:37.572: E/AndroidRuntime(10605): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.capstone.medicinehealthguide/com.capstone.medicinehealthguide.MenuListActivity}: java.lang.NullPointerException: Attempt to invoke virtual method ''android.view.View android.view.View.findViewById(int)'' on a null object reference 10-12 10:53:37.572: E/AndroidRuntime(10605): at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2255) 10-12 10:53:37.572: E/AndroidRuntime(10605): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2317) 10-12 10:53:37.572: E/AndroidRuntime(10605): at android.app.ActivityThread.access$800(ActivityThread.java:143) 10-12 10:53:37.572: E/AndroidRuntime(10605): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258) 10-12 10:53:37.572: E/AndroidRuntime(10605): at android.os.Handler.dispatchMessage(Handler.java:102) 10-12 10:53:37.572: E/AndroidRuntime(10605): at android.os.Looper.loop(Looper.java:135) 10-12 10:53:37.572: E/AndroidRuntime(10605): at android.app.ActivityThread.main(ActivityThread.java:5070) 10-12 10:53:37.572: E/AndroidRuntime(10605): at java.lang.reflect.Method.invoke(Native Method) 10-12 10:53:37.572: E/AndroidRuntime(10605): at java.lang.reflect.Method.invoke(Method.java:372) 10-12 10:53:37.572: E/AndroidRuntime(10605): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836) 10-12 10:53:37.572: E/AndroidRuntime(10605): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631) 10-12 10:53:37.572: E/AndroidRuntime(10605): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ''android.view.View android.view.View.findViewById(int)'' on a null object reference 10-12 10:53:37.572: E/AndroidRuntime(10605): at com.capstone.medicinehealthguide.MenuListActivity.onCreate(MenuListActivity.java:24) 10-12 10:53:37.572: E/AndroidRuntime(10605): at android.app.Activity.performCreate(Activity.java:5720) 10-12 10:53:37.572: E/AndroidRuntime(10605): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1102) 10-12 10:53:37.572: E/AndroidRuntime(10605): at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2208) 10-12 10:53:37.572: E/AndroidRuntime(10605): ... 10 more
XML文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.capstone.medicinehealthguide.MenuListActivity" > <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView>
我正在尝试创建一个具有列表视图的应用程序,当您单击它时,将打开另一个活动
解决方法
final ListView lv = (ListView) getListView().findViewById(R.id.listView1);
这里:
final ListView lv = (ListView) findViewById(R.id.listView1);
问题是,在您的系统中,您将获得列表视图,然后尝试从列表视图中获取列表视图.
尝试上面的选项,只需从内容视图中获取列表视图.
我们今天的关于java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'booleanjava.lang.String.equals和java.lang.Object'的分享已经告一段落,感谢您的关注,如果您想了解更多关于Android sdk:java.lang.NullPointerException:尝试调用虚方法、android – java.lang.NullPointerException:尝试在空对象引用上调用虚方法’java.io.File com.parse.ParsePlugins.getParseDir()’、android – 尝试在空对象引用上调用虚方法’int java.lang.Object.hashCode()’、android – 由:java.lang.NullPointerException引起:尝试在空对象引用上调用虚方法’void …的相关信息,请在本站查询。
本文标签: