我有一个按钮监听器,当用户单击按钮时,我想启动相机意图。目前我有这个:
public class ButtonListener implements View.OnClickListener
{
private ArrayList<String> connectedItems;
private String identifier = null;
private Context context;
private EnteredValues enteredValues;
public ButtonListener(Context c, String identifier, ArrayList<String> connectedItems) {
this.connectedItems = connectedItems;
this.identifier = identifier;
this.context = c;
}
public void onClick(View v) {
if (identifier.equals(ButtonItem.takePhoto)) {
MainActivity.takePhoto();
}
}
现在我想在我的 mainActivity 中调用一个方法,并且我想在那里启动 startActivityForResult,但是我收到一个错误,我无法从静态方法调用 startActivityForResult。
public class mainActivity extends Activity{
...
public static void takePhoto(){
startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE));
break;
//Here I get the error..
}
}
解决此类问题的最佳做法是什么?将 mainActivity 对象传递给我的 buttonListener 还是有其他选项?
很多谢谢 :)