0

抱歉,我是 Android 的新手……我有一个活动,它创建了我的类的对象实例:

file MyActivity.java:

import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;

public class MyActivity extends Activity {
    Artworks myArtworks;

    ...
    myArtworks = serial.read(Artworks.class, artworksXmlFile);
    ...
}
--------------------------------------------------------------

file Artworks.java:

import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;

@Element
public class Artworks {
    @ElementList(entry = "artwork", inline = true)
    private List<Artwork> list;
    ...
}
--------------------------------------------------------------

file Artwork.java:
public class Artwork {
    // how to use here Toast.makeText(..., text, Toast.LENGTH_SHORT).show() ???
}
--------------------------------------------------------------

如何在我的类 Artwork 中使用 Toast 类(或任何 UI 类),我从不直接实例化它,但它是通过调用 serial.read(Artworks.class) 间接创建的?我该怎么做呢?

提前致谢!

4

2 回答 2

1

您可以使用“静态”帮​​助程序类来维护对 Activity 上下文的静态引用。因此,在反序列化 Artwork 类之前,请调用UtilClass.setContext(getApplicationContext());. 然后,在您的 Artwork 类中,您可以检索该上下文,然后执行类似Toast.makeText(UtilClass.getContext(), "text", Toast.LENGTH_LONG).show();.

于 2011-05-17T13:56:43.940 回答
0
import android.widget.Toast;

public class Artwork {
   Toast.makeText(Artwork.this, "text", Toast.LENGTH_LONG).show();
}
于 2011-05-17T13:54:59.353 回答