嗨,我正在开发一个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重用不同数据的活动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)