java–Android重用不同数据的活动

java–Android重用不同数据的活动,第1张

概述嗨,我正在开发一个Android应用程序,并有两个实际上相同的活动,但加载不同的数据.我目前有两个活动,有很多重复的代码,我觉得我可以通过只使用一个活动来优化它.活动1:@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);

嗨,我正在开发一个Android应用程序,并有两个实际上相同的活动,但加载不同的数据.我目前有两个活动,有很多重复的代码,我觉得我可以通过只使用一个活动来优化它.

活动1:

    @OverrIDepublic voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.right_hearing_test);    String topHTML = this.getString(R.string.top_content);    String bottomHTML = this.getString(R.string.bottom_content);    VIEw infobutton = findVIEwByID(R.ID.info_button);    infobutton.setVisibility(VIEw.VISIBLE);    TextVIEw TitleText = (TextVIEw) findVIEwByID(R.ID.Title_text);    TitleText.setText(R.string.Hearing_Test);    mScrollbutton = (ScrollVIEw) findVIEwByID(R.ID.scroll_vIEw);    topContent = (WebVIEw) findVIEwByID(R.ID.top_content);    topContent.setBackgroundcolor(0);    bottomContent = (WebVIEw) findVIEwByID(R.ID.bottom_content);    bottomContent.setBackgroundcolor(0);    activityHelper = new ActivityHelper(this);    topContent.loadUrl("file:///androID_asset/HTML/" + topHTML);    bottomContent.loadUrl("file:///androID_asset/HTML/" + bottomHTML);    getScreenSize();    getmargins();    setResult(RESulT_OK);}

活动2

    @OverrIDepublic voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.left_hearing_test);    VIEw infobutton = findVIEwByID(R.ID.info_button);    infobutton.setVisibility(VIEw.VISIBLE);    mScrollbutton = (ScrollVIEw) findVIEwByID(R.ID.scroll_vIEw);    topContent = (WebVIEw) findVIEwByID(R.ID.top_content);    topContent.setBackgroundcolor(0);    bottomContent = (WebVIEw) findVIEwByID(R.ID.bottom_content);    bottomContent.setBackgroundcolor(0);    String topHTML = this.getString(R.string.switch_file);    String bottomHTML = this.getString(R.string.bottom_content);    activityHelper = new ActivityHelper(this);    topContent.loadUrl("file:///androID_asset/HTML/" + topHTML);    bottomContent.loadUrl("file:///androID_asset/HTML/" + bottomHTML);    getScreenSize();    getmargins();}

我将某些数据加载到Web视图和活动1中的按钮,然后用户进行测试,然后将用户带到活动2.这里所做的只是在Web视图和按钮中显示不同的数据.

我的问题是,如果我为两个页面重用一个活动,如何将正确的数据加载到每个页面中,甚至可能?

我通过传递上下文,在两个活动中使用了很多其他方法的辅助类,但我想只对WebvIEw和按钮中显示的不同内容使用一个活动!

感谢您的任何意见!

解决方法:

只需保留一个标志即可决定选择哪个选项.
贝娄会告诉你如何控制它.

你可以控制这个标志unisg getStringExtra(),putStringExtra()
例如.您将从FromActivity类开始您的活动.

FromActivity.java

.......    Intent i = new Intent(FromActivity.this,YourActivity.class);i.putExtra("Flag","optionone");startActivity(i);.......

要么

..Intent i = new Intent(FromActivity.this,YourActivity.class);i.putExtra("Flag","optiontwo");startActivity(i);...

YourActivity.java

        @OverrIDe        public voID onCreate(Bundle savedInstanceState) {        ......        ..        ..        String flag = String.valueOf(getIntent().getStringExtra("Flag"));        if(flag.equalsIgnoreCase("optionone")){            String topHTML = this.getString(R.string.top_content);            String bottomHTML = this.getString(R.string.bottom_content);            TextVIEw TitleText = (TextVIEw) findVIEwByID(R.ID.Title_text);            TitleText.setText(R.string.Hearing_Test);        }else if(flag.equalsIgnoreCase("optiontwo")){            String topHTML = this.getString(R.string.top_content);            String bottomHTML = this.getString(R.string.bottom_content);        }else{    }        .....        ...        ...        if(flag.equalsIgnoreCase("optionone")){            setResult(RESulT_OK);        }        ....}
总结

以上是内存溢出为你收集整理的java – Android重用不同数据的活动全部内容,希望文章能够帮你解决java – Android重用不同数据的活动所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存