java-改造方法响应重用到另一个活动中

java-改造方法响应重用到另一个活动中,第1张

概述如何从getDataForId(Integer.toString(1))获取数据?通过从DisplayData类调用相同的getDataForId方法?我想重用相同的方法并获得结果.将相同的方法复制并粘贴到其他活动类中没有任何意义.然后将有相同的代码重复两次.这是我的DisplayData.classpublicclassDisplayDataextend

如何从getDataForID(Integer.toString(1))获取数据?通过从displayData类调用相同的getDataForID方法?

我想重用相同的方法并获得结果.
将相同的方法复制并粘贴到其他活动类中没有任何意义.然后将有相同的代码重复两次.

这是我的displayData.class

  public class displayData extends AppCompatActivity {    Detail reqDetail;    String BASE_URL = "";    TextVIEw name;    ImageVIEw image;    @OverrIDe    protected voID onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.display_data);        name = (TextVIEw) findVIEwByID(R.ID.name);        image = (ImageVIEw)findVIEwByID(R.ID.image);        public voID getDataForID(final String ID) {        APIInterface APIInterface = apiclient.getAPIInterface();        Call<MyResponse> call = APIInterface.getResponse();        call.enqueue(new Callback<MyResponse>() {        @OverrIDe        public voID onResponse(Call<MyResponse> call, Response<MyResponse> response) {               if (response.body() != null) {                MyResponse myResponse = response.body();                    List<Detail> details = myResponse.getDetails();                        for (Detail d : details) {                            if (d.getID().equals(ID)) {                                reqDetail = d;                                    name.setText(reqDetail.getname());                                            Picasso.with(displayData.this)                                            .load(reqDetail.getname())                                            .placeholder(R.mipmap.ic_launcher)                                            .error(R.mipmap.ic_launcher)                                            .into(image);                                            }                                        }                                    }                                }            @OverrIDe            public voID onFailure(Call<MyResponse> call, Throwable t) {            }        });    }

这是我的SecondData类,我想在其中通过重用相同的方法来显示displayData的相同数据响应

public class SecondData extends AppCompatActivity {    Detail reqDetail;    String BASE_URL = "";    TextVIEw name;    ImageVIEw image;    @OverrIDe    protected voID onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.second_main);        name = (TextVIEw) findVIEwByID(R.ID.name);        image = (ImageVIEw)findVIEwByID(R.ID.image);    }}

解决方法:

创建一个类来进行这样的改造调用

public class SampleClass {private DataInterface mListener;public SampleClass() {    super();}public voID getDataForID(final String ID) {    APIInterface APIInterface = apiclient.getAPIInterface();    Call<MyResponse> call = APIInterface.getResponse();    call.enqueue(new Callback<MyResponse>() {        @OverrIDe        public voID onResponse(Call<MyResponse> call, Response<MyResponse> response) {            if (response!=null && response.body() != null && mListener != null) {                mListener.responseData(response.body());            }        }        @OverrIDe        public voID onFailure(Call<MyResponse> call, Throwable t) {        }    });}public voID setonDataListener(DataInterface Listener) {    mListener = Listener;}public interface DataInterface {    voID responseData( MyResponse myResponse );}}

然后在您的活动中像这样调用课程

SampleClass sampleClass = new SampleClass();sampleClass.setonDataListener(new SampleClass.DataInterface() {    @OverrIDe    public voID responseData(MyResponse myResponse) {    } });sampleClass.getDataForID("UR ID");

同样在您的课程中,将ID存储为私有成员变量

private Integer YOUR_ID;

然后在获取结果时,将结果ID与该ID进行比较

  List<Detail> details = myResponse.getDetails();    for (Detail d : details) {        if (d.getID().equals(YOUR_ID)) {            reqDetail = d;            name.setText(reqDetail.getname());            Picasso.with(displayData.this)                    .load(reqDetail.getname())                    .placeholder(R.mipmap.ic_launcher)                    .error(R.mipmap.ic_launcher)                    .into(image);          }    }
总结

以上是内存溢出为你收集整理的java-改造方法响应重用到另一个活动中全部内容,希望文章能够帮你解决java-改造方法响应重用到另一个活动中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1091850.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存