Я использую метод в библиотеке, но не могу указать правильный параметр.
public class CutFragment extends Fragment {
btnPickAudioPath1.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {
new MaterialFilePicker()
.withFragment(CutFragment.this) // getting error here
.withRequestCode(1000)
.withFilter(Pattern.compile(".*\\.mp3$")) // Filtering files and directories by file name using regexp
.withHiddenFiles(true) // Show hidden files and folders
.start();
}
});
}
Это метод в библиотеке
/**
* Specifies fragment, which will be used to
* start file picker
*/
public MaterialFilePicker withFragment(Fragment fragment) {
if (mSupportFragment != null || mActivity != null) {
throw new RuntimeException("You must pass either Activity, Fragment or SupportFragment");
}
mFragment = fragment;
return this;
}
Обычно если мы указываем активность, мы будем использовать MainActivity.this, поэтому, если указать фрагмент, как мы получим фрагмент? Спасибо.
Это сообщения об ошибках.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.auroralife, PID: 1745
java.lang.RuntimeException: You must pass Activity/Fragment by calling withActivity/withFragment/withSupportFragment method
at com.nbsp.materialfilepicker.MaterialFilePicker.start(MaterialFilePicker.java:217)
at com.example.auroralife.Fragment.CutFragment$2.onClick(CutFragment.java:123)
at android.view.View.performClick(View.java:5610)
at android.view.View$PerformClick.run(View.java:22265)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Если я использую getActivity ()