android - 如何在android中不使用参数传递值

标签 android

我的应用程序中的 friend ,我想在中使用文本框值 所有其他 Activity 不通过任何参数。怎么可能?任何人 知道这些给我一个例子,在此先感谢。作者:Nallendiran.S

最佳答案

有几种不同的方法可以实现您的要求。

1.) 扩展应用程序类并在那里实例化您的 Controller 和模型对象。

public class FavoriteColorsApplication extends Application {

    private static FavoriteColorsApplication application;
    private FavoriteColorsService service;

    public FavoriteColorsApplication getInstance() {
        return application;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        application = this;
        application.initialize();
    }

    private void initialize() {
        service = new FavoriteColorsService();
    }

    public FavoriteColorsService getService() {
        return service;
    }

}

然后您可以随时从您的自定义 Application 对象调用您的单例:

公共(public)类 FavoriteColorsActivity 扩展 Activity {

private FavoriteColorsService service = null;
private ArrayAdapter<String> adapter;
private List<String> favoriteColors = new ArrayList<String>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_favorite_colors);

    service = ((FavoriteColorsApplication) getApplication()).getService();
    favoriteColors = service.findAllColors();

    ListView lv = (ListView) findViewById(R.id.favoriteColorsListView);
    adapter = new ArrayAdapter<String>(this, R.layout.favorite_colors_list_item,
            favoriteColors);
    lv.setAdapter(adapter);
}

2.) 你可以让你的 Controller 只创建一个它自己的单例实例:

public class Controller {
    private static final String TAG = "Controller";
    private static sController sController;
    private Dao mDao;

    private Controller() {
        mDao = new Dao();    
    }

    public static Controller create() {
        if (sController == null) {
            sController = new Controller();
        }
        return sController;
    }
}

然后您可以从任何 Activity 或 Fragment 调用 create 方法,如果 Controller 不存在,它将创建一个新 Controller ,否则它将返回先前存在的 Controller 。

3.) 最后,Square 创建了一个灵活的框架,它为您提供了 Android 中的依赖注入(inject)。它叫做Dagger .我不会在这里讨论如何使用它,但如果您需要那种东西,它会非常灵活。

我希望我已就如何实现您的期望提供了足够的详细信息。

关于android - 如何在android中不使用参数传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23444260/

相关文章:

android - requestWindowFeature(Window.FEATURE_NO_TITLE) 异常

android - 使用 Appium 进行自动化调试应用程序是必须的吗?

android - Activity 中的 Intent 过滤器和广播接收器有什么区别?

android - 在 Eclipse 中安装 ADT 插件

android - 在Android中处理AudioManager的最佳方法

Android(App)Widget识别

android - 访问存储在/storage/emulated/0 目录中的文件时出现 FileNotFoundException

java - 如何对异步调用进行单元测试?

android - onResponse回调方法改造android中的空上下文

android - 如何更改 ListView 中的文本颜色