如何在自定义首选项中使onClick启动新的主动性(startActivityForResult)?
我希望自定义首选项启动新活动,当它返回结果时,应将其保存在首选项中。我知道如何实现保存,但是我不确定如何实现onClick。
这是我在自定义首选项类中所做的:
@Override
protected void onClick() {
Intent pickLocationIntent = new Intent(SettingsActivity.this, MapsActivity.class);
pickLocationIntent.putExtra("latitude", 0.0);
pickLocationIntent.putExtra("longitude", 0.0);
startActivityForResult(pickLocationIntent, REQUEST_LOCATION);
}
不允许我这样使用startActivityForResult。
修改
总结一下:一个人如何实现自定义偏好设置,该偏好设置在单击后会打开新活动?
Edit2
如果有人需要,这里是解决方案:
答案 0 :(得分:0)
将此android:onClick="anyname"
放入您要为其添加点击侦听器的布局项中。
public void anyname(View v) {
Intent pickLocationIntent = new Intent(SettingsActivity.this, MapsActivity.class);
pickLocationIntent.putExtra("latitude", 0.0);
pickLocationIntent.putExtra("longitude", 0.0);
startActivityForResult(pickLocationIntent, REQUEST_LOCATION);
}
答案 1 :(得分:0)
要实现onClick事件,请使用您的类,例如您的MainActivity必须从数据包View中实现OnClickListener接口,例如public class SettingsActivity extends AppCompatActivity implements View.OnClickListener {
。然后,您需要单击某些视图,然后通过在MainActivity中编写View.setOnClickListener(this)
来实现OnClickListener。每当用户触摸此视图时,就会调用MainActivity的onClick方法。
要从MapsActivity获得结果,您只需在Activity中实现onActivityResult()
方法即可。
我希望我没听错你的意思。 :)