Return 到列表Activity 中的上一个 Activity 单击项目
Return to previous Activity from ListActivity on item click
我有一个 SettingsActivity,底部有一个 "Scan" 按钮:
单击该按钮时,它会启动一个 ListActivity:
(打算以后改成fragments,暂时想用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);
}
当该列表中的某个项目(蓝牙设备)被点击时 - 我保存该项目并显示祝酒词,告诉用户转到上一个屏幕:
@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();
}
我的(可能是非常基本的)问题:我的应用程序如何才能 return 不显示吐司而不是显示到上一个屏幕?
在上面的onListItemClick()
方法中调用什么方法来代替Toast.makeText()
?
我觉得
ActivityName.this.finish();
应该够了。
您需要做的就是像这样关闭电流activity
ScanningActivity.this.finish();
我同意其他答案,即调用 finish 是解决方案。但是你应该知道一些关于使用 finish 方法的事情。
- 调用 finish() 的方法将 运行 完成。在您 return 控制到 Android.
之前,finish() 操作甚至不会开始
因此,您应该在 finish 之后放置一个 return 语句,否则调用 finish 的方法将被完全执行。
- 如果您不希望此 activity 在用户按下后退按钮时一次又一次地加载,则可以使用此方法。因为它也从后台清除 activity。
请在使用 finish() 方法时记住这一点。
我有一个 SettingsActivity,底部有一个 "Scan" 按钮:
单击该按钮时,它会启动一个 ListActivity:
(打算以后改成fragments,暂时想用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);
}
当该列表中的某个项目(蓝牙设备)被点击时 - 我保存该项目并显示祝酒词,告诉用户转到上一个屏幕:
@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();
}
我的(可能是非常基本的)问题:我的应用程序如何才能 return 不显示吐司而不是显示到上一个屏幕?
在上面的onListItemClick()
方法中调用什么方法来代替Toast.makeText()
?
我觉得
ActivityName.this.finish();
应该够了。
您需要做的就是像这样关闭电流activity
ScanningActivity.this.finish();
我同意其他答案,即调用 finish 是解决方案。但是你应该知道一些关于使用 finish 方法的事情。
- 调用 finish() 的方法将 运行 完成。在您 return 控制到 Android. 之前,finish() 操作甚至不会开始
因此,您应该在 finish 之后放置一个 return 语句,否则调用 finish 的方法将被完全执行。
- 如果您不希望此 activity 在用户按下后退按钮时一次又一次地加载,则可以使用此方法。因为它也从后台清除 activity。
请在使用 finish() 方法时记住这一点。