我有一个设置 Activity ,底部有一个“扫描”按钮:
当单击该按钮时,它会启动一个 ListActivity:
(我打算稍后切换到 fragment 。现在我想使用 Activity 。)
<Button
android:id="@+id/scanButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="startScanning"
android:text="Scannen und Beacon ausw\u00E4hlen..." />
public void startScanning(View v) {
Intent i = new Intent(this, ScanningActivity.class);
startActivity(i);
}
当在该列表中单击某个项目(蓝牙设备)时 - 我保存该项目并显示一个 toast,告诉用户转到上一个屏幕:
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
BluetoothDevice device = (BluetoothDevice) getListView().getItemAtPosition(position);
String address = device.getAddress();
mEditor.putString(CommonConstants.PREF_ADDRESS, address);
mEditor.commit();
Toast.makeText(this,
"Ger\u00E4t-Adresse gespeichert, bitte Dienst neu starten",
Toast.LENGTH_SHORT)
.show();
}
我的(可能非常基本)问题:我的应用程序如何返回到上一个屏幕,而不是显示 toast?
在上述 onListItemClick()
方法中调用什么方法来代替 Toast.makeText()
?
最佳答案
我同意其他答案,即调用 finish 是解决方案。但您应该了解有关使用 finish 方法的一些知识。
- 调用 finish() 的方法将运行直至完成。在您将控制权返回给 Android 之前,finish() 操作甚至不会开始。
所以,你应该在finish之后放置一个return语句,因为否则调用finish的方法将被完全执行。
- 如果您不希望在用户按下后退按钮时一次又一次加载此 Activity,则可以使用此方法。因为它也会清除后台堆栈中的 Activity 。
使用 finish() 方法时请记住这一点。
关于android - 单击项目时从 ListActivity 返回到上一个 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910631/