我已經搜索並找不到任何明確的問題。在下一個按鈕和上一個按鈕之間跳轉同一個活動
在我的應用程序中,我有一個活動,您可以回答一個檢查點,發送它並轉到下一個檢查點。用戶應該也可以跳過,並跳回到先前的檢查點。
讓我用一些代碼來支持我的故事。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.checkpointform);
go = (GlobalObject)getApplication();
_checkPoints = new ArrayList<CheckPoint>();
_checkPoints.addAll(go.getCheckPoints());
_currentActiveItemId = getIntent().getIntExtra("checkPointId", 0);
int count = 0;
while(count < _checkPoints.size()) {
if(_currentActiveItemId == _checkPoints.get(count).getPrimaryKey()) {
_checkPointTitle = _checkPoints.get(count).getCheckPointTitle();
}
count++;
}
final TextView tvCheckPointTitle = (TextView)findViewById(R.id.txtCheckpoint);
tvCheckPointTitle.setText(_checkPointTitle);
this.registerButtonEvents();
_simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss");
Log.d(TAG, "On create");
}
此代碼未優化。我希望它在我這樣做之前先工作,所以不要爲此對我很難,但提示總是非常受歡迎。
所以這裏發生了什麼。 全局(應用程序範圍)對象被實例化。 我得到一個數組列表並將其存儲在本地數組列表中。
我從屏幕上拿出額外的東西給我。 我循環搜索列表以比較當前選擇的項目標識與主鍵,以獲取正確的數據顯示。
我然後註冊按鈕事件,像這樣:
private void registerButtonEvents() {
ImageButton btnTakePicture = (ImageButton)findViewById(R.id.btnTakePicture);
btnTakePicture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
takePictureButton();
}
});
Button btnPreviousCheckPoint = (Button)findViewById(R.id.btnPrev);
btnPreviousCheckPoint.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
previousCheckPoint();
}
});
Button btnNextCheckPoint = (Button)findViewById(R.id.btnNext);
btnNextCheckPoint .setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nextCheckPoint();
}
});
}
稱爲在onclick事件不做任何事情的方法。 這是我需要幫助的地方。
我需要的是,目前的活動被摧毀,但在這之前發生,稱此活動..可能是這樣的:意向意圖=新意圖(這一點,checkPointFormActivity);
,並給予一個/上一個活動currentselected ID + 1(如果下一個項目是空,生病獲取列表中的第一項..這是邏輯病擔心以後)
但是我一直在調用這個活動時沒有絲毫的意義。
因此,在短期:
我需要調用相同的活性當前,隨着新的數據。這樣做後,我想銷燬/完成/刪除/取消上一個活動。 (可以說檢查點1是當前的活動,我按下一步,這個活動應該用新數據刷新/完成,並且以意圖以ID的形式傳遞的新數據被召回
我希望我提供足夠的信息,這種方式。 如果有不清楚的地方,而且它不會讓我感到吃驚。請讓我知道這樣我就可以編輯。
我想什麼是
private void nextCheckPoint() {
int count = 0;
int listLength = _checkPoints.size();
while(count < listLength) {
if(_currentActiveItemId == _checkPoints.get(count).getPrimaryKey()) {
final Intent intent = new Intent(this, CheckPointFormActivity.class);
intent.putExtra("checkPointId", _currentActiveItemId + 1);
startActivity(intent);
}
}
}
也ttried調用完成()後並在開始活動之前,它會導致我的應用程序根本沒有響應。
非常感謝您花時間閱讀這個問題。希望能夠儘快看到如何改變流程的答案或任何建議。謝謝。
姆姆也許我應該看看鰭狀肢。因爲我甚至不知道它做了什麼。謝謝。我認爲再實現是唯一的可能性。我想要的是,以一種形式。回答檢查點。完成後發送,然後轉到下一個checkpiont,而不返回包含所有檢查點的列表視圖 –
此外,它還表示qiestion的目標。我不知道如何用新信息刷新小部件。 –
啊.. ofcourse ..太簡單了.. :)謝謝。你開了我的眼睛。 –