簡體   English   中英

非靜態字段,方法或屬性'Android.Content.Intent.GetStringExtra(string)'需要對象引用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM