我解決了這個問題,沒有真正解決,但找到了有效的解決方法。
解決方法是我設計了一個文本編輯器(看起來類似於全屏用戶界面),並點擊每個這些EditBox
es觸發新的UI活動(使用startActivityForResult()
,這樣一旦它們完成控制,返回到調用活動),編輯完成後,文本被傳回主屏幕。
我還確保那些傳輸控件的盒子不會集中注意力,以便它們立即將控制權交給新的用戶界面。
這樣我就可以實現一個取消按鈕,它現在實際上允許用戶返回而不保存他意外做出的改變。
我很樂意接受新想法,但這對我來說很有效。
守則Activity
:
public void onBtnClicked(View v) {
EditText current_text_box = (EditText) v;
Intent intent = new Intent(ObservationActivity.this,
TexteditorActivity.class);
intent.putExtra("start_text", current_text_box.getText().toString());
intent.putExtra("start_position", current_text_box.getSelectionStart());
startActivityForResult(intent, v.getId());
}
代碼在XML:
<EditText
android:id="@+id/observation_text"
style="@style/icon_text"
android:focusable="false"
android:imeOptions="flagNoExtractUi"
android:inputType="textMultiLine"
android:onClick="onBtnClicked" >
</EditText>
要創建我使用的代碼全屏UI,你可以使用任何類似(http://android-richtexteditor.googlecode.com/)
來源
2013-01-15 08:57:37
skv
你試過 的android:layout_width =「fiil_parent」 機器人:layout_height =「FILL_PARENT」 –
感謝烏斯曼庫爾德人,但我的情況略有不同,我有六個這樣的盒子,所以我希望他們能夠擴大到全僅當數據輸入發生時才顯示屏幕。 – skv
去AutoCompleteTectView ... –