我正在尝试开发一个MySQL客户端,并且有更多具有不同动态内容的屏幕,我正在寻找一些简单的方法,如何不在方向上重新加载活动,这总是意味着执行查询表单{{1这不好。
例如:
屏幕1:
onCreate()
屏幕2:
<RelativeLayout>
<STATIC-XML TextView></STATIC-XML TextView>
<STATIC-XML EditText></STATIC-XML EditText>
<STATIC-XML TextView></STATIC-XML TextView>
<STATIC-XML EditText></STATIC-XML EditText>
</RelativeLayout>
屏幕3(现在开始有趣):
<RelativeLayout>
<ListView>
<DYNAMIC-PROG ListViewItem>
<DYNAMIC-PROG TextView></DYNAMIC-PROG TextView>
</DYNAMIC-PROG ListViewItem>
<DYNAMIC-PROG ListViewItem>
<DYNAMIC-PROG TextView></DYNAMIC-PROG TextView>
</DYNAMIC-PROG ListViewItem>
</ListView>
</RelativeLayout>
在屏幕3中,每个<RelativeLayout>
<ScrollView>
<HorizontalScrollView>
<TableLayout>
<DYNAMIC-PROG TableRow>
<DYNAMIC-PROG TextView></DYNAMIC-PROG TextView>
<DYNAMIC-PROG TextView></DYNAMIC-PROG TextView>
<DYNAMIC-PROG TextView></DYNAMIC-PROG TextView>
</DYNAMIC-PROG /TableRow>
<DYNAMIC-PROG TableRow>
<DYNAMIC-PROG TextView></DYNAMIC-PROG TextView>
<DYNAMIC-PROG TextView></DYNAMIC-PROG TextView>
<DYNAMIC-PROG TextView></DYNAMIC-PROG TextView>
</DYNAMIC-PROG /TableRow>
</TableLayout>
</HorizontalScrollView>
</ScrollView>
</RelativeLayout>
中的TableRow
计数都相同,但在此屏幕的每个开头,都会有不同数量的TextViews,
(每{ {1}}对于我正在加载的MySQL DB的当前表格的每一列
最后是Screen 4
TextViews
就是这样。内容通过TextView
加载,整个逻辑,存储到数组等。在 <RelativeLayout>
<ScrollView>
<TableLayout>
<DYNAMIC-PROG TableRow>
<DYNAMIC-PROG TextView></DYNAMIC-PROG TextView>
<DYNAMIC-PROG EditText></DYNAMIC-PROG EditText>
</DYNAMIC-PROG /TableRow>
<DYNAMIC-PROG TableRow>
<DYNAMIC-PROG TextView></DYNAMIC-PROG TextView>
<DYNAMIC-PROG EditText></DYNAMIC-PROG EditText>
</DYNAMIC-PROG /TableRow>
</TableLayout>
</ScrollView>
</RelativeLayout>
然后我将其绘制到AsyncTask
中的布局,包括doInBackground()
,等等上。
现在,在方向更改时,它将重新创建活动并再次加载所有数据(调用onPostExecute()
)
我需要以某种方式存储动态创建的东西,只是为了重绘它们,而不是重新创建它们。
我需要存储他们的内容及其ID(如果存在)(如果我已调用@Override setOnClickListener
我通过了一些指南,比如
Restoring state of TextView after screen rotation?
Good solution to retain listview items when user rotate phone and keep all data in ArrayAdapter
...
对我来说没有任何作用。
我所取得的最好成就就是重新创建活动。但是这些指南往往并没有改变任何现有的方向内容。
那么,对于任何现有布局,是否有任何统一的解决方案?