簡體   English   中英

如何將一種意圖的值傳遞或訪問?

[英]How do I pass in or access a value from one intent to another?

如何從一個意圖訪問另一個方法或變量?

我想從一個意圖上使用可繪制對象來做某事,但我不知道如何訪問它。 創建對象不適用於我的情況。

您需要使用Singleton。
這是一個例子

    public class MyDrawable 
    {

        //singleton
        private static MyDrawable mydrawable=null;

        Drawable drawable=null;

        //only setDrawable creates objects
        private MyDrawable(){}

        private MyDrawable(Drawable drawable)
        {
            this.drawable = drawable;
        }

       public static Drawable getDrawable()
       {
           if(mydrawable==null)
               return null;
           return mydrawable.drawable;
       }


       public static Drawable setDrawable()
       {
           mydrawable =null;
           mydrawable = new MyDrawable();
           return mydrawable.drawable;
       }


       public static Drawable setDrawable(Drawable drawable)
       {
           mydrawable =null;
           mydrawable = new MyDrawable(drawable);
           return mydrawable.drawable;
       }

    }
  1. 設置您的可繪制

      MyDrawable.setDrawable(yourDrawable); //or Drawable d = MyDrawable.setDrawable(); //d=yourDrawable; 
  2. 在其他活動中獲取它

      yourDrawable = MyDrawable.getDrawable(); 

在您當前的活動中,創建一個新的Intent:

Intent i = new Intent(getApplicationContext(), NewActivity.class);
i.putExtra("new_variable_name","value");
startActivity(i);

然后在新的活動中,檢索以下值:

Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("new_variable_name");
}

使用此技術將變量從一個活動傳遞到另一個活動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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