[英]An object reference is required for the non-static field, method, or property 'Android.Content.Intent.GetStringExtra(string)'
public override void OnCreate()
{
base.OnCreate();
//Find our audio and notificaton managers
audioManager = (AudioManager)GetSystemService(AudioService);
wifiManager = (WifiManager)GetSystemService(WifiService);
string text = Intent.GetStringExtra ("MyData") ?? "Data not available";
錯誤CS0120:非靜態字段,方法或屬性'Android.Content.Intent.GetStringExtra(string)'需要對象引用(CS0120)
我在代碼的最后一行不斷收到此錯誤。 我正在嘗試將數據從二維碼傳遞到下一個活動,就像他們在這里所做的一樣
我不確定如何解決此問題,並且我嘗試將其創建為靜態但無法解決。
getStringExtra
是一個非靜態方法。 這意味着您需要一個對象來調用它。 對於getStringExtra
,您需要一個Intent
對象來調用它,而不是類。
那么,如何獲得一個意圖對象呢? 在活動中,可以使用getIntent
獲取傳遞給活動的意圖。 現在有了對象,可以對返回的對象調用getStringExtra
:
var obj = getIntent();
var someString = obj.getStringExtra(someArgs);
您可以簡化為
var someString = getIntent().getStringExtra(someArgs);
GetStringExtra用於在兩個活動之間傳遞數據。 您只進行了一項活動...您是否正確使用了此功能?
此處的更多信息: https : //developer.xamarin.com/recipes/android/fundamentals/activity/pass_data_between_activity/
將數據從Activity1傳遞到Activity2,如下所示:
Activity1傳遞數據
Intent intent = new Intent(Activity1.this, Activity2.class);
intent.putExtra("key","value");
startActivity(intent);
Activity2獲取數據,在Activity2 onCreate方法中編寫以下代碼
String data = getIntent().getStringExtra("key");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.