1
私は、ユーザーチームの画像を取得するための警告ダイアログを使用しています。そして、すでに開いているダイアログでイメージプレビューを表示したいと思います。表示されたダイアログの画像ビューを選択した画像に更新するにはどうすればよいですか?
私のダイアログが表示されている部分にイメージファイルを渡していますが、ダイアログを表示する方法はImageView
です。私はデータを通知できるアダプタを更新しようとしましたが、そのフラグメント
public void passingImage(Image image) {
testAdapter.notifyImage(image);
}
が、これは私の警告]ダイアログコード
public void showDialogForTeam(ChallengeData mData) {
this.mData = mData;
dialogForTeam = new Dialog(activity);
dialogForTeam.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialogForTeam.setContentView(R.layout.dialog_team_selection);
dialogForTeam.setTitle("Select Team");
spinner = (Spinner) dialogForTeam.findViewById(R.id.spinner);
imgClose = (ImageView) dialogForTeam.findViewById(R.id.imageView);
RecyclerView.LayoutManager layoutManager5 = new LinearLayoutManager(getActivity());
rvLogo = (RecyclerView) dialogForTeam.findViewById(R.id.rv_logo);
rvLogo.setHasFixedSize(true);
rvLogo.setLayoutManager(layoutManager5);
rvLogo.setAdapter(testAdapter);
btnUpload = (TextView) dialogForTeam.findViewById(R.id.btn_upload_icon);
tealLogo = (ImageView) dialogForTeam.findViewById(R.id.team_logo);
btnUpload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int permissionCheck = ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
openGallery();
} else {
Nammu.askForPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionCallback() {
@Override
public void permissionGranted() {
openGallery();
}
@Override
public void permissionRefused() {
}
});
}
}
});
GridView gridView = (GridView) dialogForTeam.findViewById(R.id.grid_view);
// Instance of ImageAdapter Class
gridView.setAdapter(new ImageAdapter(activity, this));
Spinner spinner1 = (Spinner) dialogForTeam.findViewById(R.id.spinner1);
final LinearLayout llMyteam = (LinearLayout) dialogForTeam.findViewById(R.id.ll_m_team);
final RecyclerView recyclerViewTeam = (RecyclerView) dialogForTeam.findViewById(R.id.rv_team);
String[] strings = new String[0];
if (mData.getIsTeamcreater().equals("true")) {
strings = new String[]{"Join as Team Member", "Create Team"};
} else
strings = new String[]{"Join as Team Member"};
spinner.setAdapter(new ArrayAdapter<>(activity, R.layout.row_simple_text, strings));
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (parent.getItemAtPosition(position).toString().equals("Join as Team Member")) {
llMyteam.setVisibility(View.GONE);
recyclerViewTeam.setVisibility(View.VISIBLE);
} else {
llMyteam.setVisibility(View.VISIBLE);
recyclerViewTeam.setVisibility(View.GONE);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
spinner1.setAdapter(new ArrayAdapter<>(activity, R.layout.row_simple_text, strings));
if (mData.getTeams() != null && mData.getTeams().size() > 0) {
RecyclerView.LayoutManager layoutManager4 = new LinearLayoutManager(activity);
recyclerViewTeam.setHasFixedSize(true);
recyclerViewTeam.setLayoutManager(layoutManager4);
JoinTeamChallengeAdapter allTeamAdapter = new JoinTeamChallengeAdapter(activity, mData.getTeams(), this);
recyclerViewTeam.setAdapter(allTeamAdapter);
}
imgClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialogForTeam.dismiss();
}
});
dialogForTeam.show();
}
public void openGallery() {
ImagePicker.create(activity)
.folderMode(true) // folder mode (false by default)
.folderTitle("Folder") // folder selection title
.imageTitle("Tap to select") // image selection title
.single() // single mode
.limit(1) // max images can be selected (99 by default)
.showCamera(true) // show camera or not (true by default)
.imageDirectory("Camera") // directory name for captured image ("Camera" folder by default)
.start(9686); // start image picker activity with request code
}
あるMianActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.e(TAG, "onActivityResult :" + requestCode);
if (requestCode == 9686) {
ArrayList<Image> images = data.getParcelableArrayListExtra(ImagePickerActivity.INTENT_EXTRA_SELECTED_IMAGES);
if (images.size() > 0 && images.size() == 1){
image = images.get(0);
mainHomeFragment.passingImage(image);
}
} else if (requestCode == 9687) {
ArrayList<Image> images = data.getParcelableArrayListExtra(ImagePickerActivity.INTENT_EXTRA_SELECTED_IMAGES);
if (images.size() > 0 && images.size() == 1)
onPhotoReturned(images.get(0));
}
super.onActivityResult(requestCode, resultCode, data);
}
私はダイアログの画像ビューとダイアログに既に表示したいと考えています。 –
このリンクは質問に答えるかもしれませんが、回答の必須部分ここで参照用のリンクを提供します。リンクされたページが変更された場合、リンクのみの回答は無効になります。私はすでに 'OnActivityResult'にImageオブジェクトを持っていますが、その質問は次のとおりです: - [レビューから](レビュー/低品質の投稿/13794831) –
アドバイスのためにページからの必須コードを変更して追加しました@AdityaVyas-Lakhan –