gpt4 book ai didi

android - Bug in a code the buttons 这些按钮什么都不做

转载 作者:行者123 更新时间:2023-11-30 00:38:49 25 4
gpt4 key购买 nike

我有一个问题,我不知道哪个是错误,当我按下添加照片按钮或发送按钮时根本没有发生,我没有收到任何错误,第一个按钮应该打开我的照片,第二个按钮应该发送到我提供代码的 fragment 中的 RecyclerView

抱歉我的英语不好用谷歌翻译

fragment

 public class PostCreateDialog  extends DialogFragment implements View.OnClickListener{

private static final int RC_PHOTO_PICKER = 1;
private Post mPost;
private ProgressDialog mProgressDialog;
private ImageView mPostImageView;
private View mRootView;
private Uri mSelectedUri;
private ImageButton sendPostButton;
private ImageButton selectFotoButton;

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
mPost = new Post();
mProgressDialog = new ProgressDialog(getContext());
mRootView = getActivity().getLayoutInflater().inflate(R.layout.create_post_dialog, null);

mPostImageView = (ImageView) mRootView.findViewById(R.id.post_dialog_display);
selectFotoButton = (ImageButton) mRootView.findViewById(R.id.post_dialog_select_imageview);
sendPostButton = (ImageButton) mRootView.findViewById(R.id.post_dialog_send_imageview);
builder.setView(mRootView);
return builder.create();


}

@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.post_dialog_select_imageview:
selectImage();
break;
case R.id.post_dialog_send_imageview:
sendPost();
break;
}
}


private void sendPost() {

mProgressDialog.setMessage("Sending post...");
mProgressDialog.setCancelable(false);
mProgressDialog.setIndeterminate(true);
mProgressDialog.show();

FirebaseUtils.getUserRef(FirebaseUtils.getCurrentUser().getEmail().replace(".",",")).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
final String postId = FirebaseUtils.getUid();
TextView postDialogText = (TextView) mRootView.findViewById(R.id.post_dialog_edittext);
String text = postDialogText.getText().toString();

mPost.setUser(user);
mPost.setNumOfLikes(0);
mPost.setNumOfComments(0);
mPost.setNumOfUnlikes(0);
mPost.setTimeOfcreation(System.currentTimeMillis());
mPost.setPostText(text);

if(mSelectedUri != null){
FirebaseUtils.getImageRef().child(mSelectedUri.getLastPathSegment()).putFile(mSelectedUri).addOnSuccessListener(getActivity(), new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

String url = Contants.POST_IMAGES + "/" + mSelectedUri.getLastPathSegment();
mPost.setImageUrl(url);
addToMyPostList(postId);

}
});
}else {
addToMyPostList(postId);
}
}

@Override
public void onCancelled(DatabaseError databaseError) {
mProgressDialog.dismiss();
}
});



}

// ESTE DE AQUI ES COMO UN FINAL A TOODO SI SE COMPLETA O SI CANCELA
private void addToMyPostList(String postId){
FirebaseUtils.getPostRef().child(postId).setValue(mPost);
FirebaseUtils.getPostRef().child(postId).setValue(true).addOnCompleteListener(getActivity(), new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
mProgressDialog.dismiss();
dismiss();
}
});

}


// ESTOS DOS METODOS SIRVEN PARA SELECCIONAR LA IMAGEN
private void selectImage() {
Intent intent1 = new Intent(Intent.ACTION_GET_CONTENT);
intent1.setType("image/jpeg");
intent1.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
startActivityForResult(Intent.createChooser(intent1, "Comlete action using"), RC_PHOTO_PICKER);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if(requestCode == RC_PHOTO_PICKER){
if(resultCode == RESULT_OK){
mSelectedUri = data.getData();
mPostImageView.setImageURI(mSelectedUri);
}
}
}


}

对话框:

 public class PostCreateDialog  extends DialogFragment implements View.OnClickListener{

private static final int RC_PHOTO_PICKER = 1;
private Post mPost;
private ProgressDialog mProgressDialog;
private ImageView mPostImageView;
private View mRootView;
private Uri mSelectedUri;
private ImageButton sendPostButton;
private ImageButton selectFotoButton;

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
mPost = new Post();
mProgressDialog = new ProgressDialog(getContext());
mRootView = getActivity().getLayoutInflater().inflate(R.layout.create_post_dialog, null);

mPostImageView = (ImageView) mRootView.findViewById(R.id.post_dialog_display);
selectFotoButton = (ImageButton) mRootView.findViewById(R.id.post_dialog_select_imageview);
sendPostButton = (ImageButton) mRootView.findViewById(R.id.post_dialog_send_imageview);
builder.setView(mRootView);
return builder.create();


}

@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.post_dialog_select_imageview:
selectImage();
break;
case R.id.post_dialog_send_imageview:
sendPost();
break;
}
}


private void sendPost() {

mProgressDialog.setMessage("Sending post...");
mProgressDialog.setCancelable(false);
mProgressDialog.setIndeterminate(true);
mProgressDialog.show();

FirebaseUtils.getUserRef(FirebaseUtils.getCurrentUser().getEmail().replace(".",",")).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
final String postId = FirebaseUtils.getUid();
TextView postDialogText = (TextView) mRootView.findViewById(R.id.post_dialog_edittext);
String text = postDialogText.getText().toString();

mPost.setUser(user);
mPost.setNumOfLikes(0);
mPost.setNumOfComments(0);
mPost.setNumOfUnlikes(0);
mPost.setTimeOfcreation(System.currentTimeMillis());
mPost.setPostText(text);

if(mSelectedUri != null){
FirebaseUtils.getImageRef().child(mSelectedUri.getLastPathSegment()).putFile(mSelectedUri).addOnSuccessListener(getActivity(), new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

String url = Contants.POST_IMAGES + "/" + mSelectedUri.getLastPathSegment();
mPost.setImageUrl(url);
addToMyPostList(postId);

}
});
}else {
addToMyPostList(postId);
}
}

@Override
public void onCancelled(DatabaseError databaseError) {
mProgressDialog.dismiss();
}
});



}

// ESTE DE AQUI ES COMO UN FINAL A TOODO SI SE COMPLETA O SI CANCELA
private void addToMyPostList(String postId){
FirebaseUtils.getPostRef().child(postId).setValue(mPost);
FirebaseUtils.getPostRef().child(postId).setValue(true).addOnCompleteListener(getActivity(), new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
mProgressDialog.dismiss();
dismiss();
}
});

}


// ESTOS DOS METODOS SIRVEN PARA SELECCIONAR LA IMAGEN
private void selectImage() {
Intent intent1 = new Intent(Intent.ACTION_GET_CONTENT);
intent1.setType("image/jpeg");
intent1.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
startActivityForResult(Intent.createChooser(intent1, "Comlete action using"), RC_PHOTO_PICKER);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if(requestCode == RC_PHOTO_PICKER){
if(resultCode == RESULT_OK){
mSelectedUri = data.getData();
mPostImageView.setImageURI(mSelectedUri);
}
}
}


}

最佳答案

尝试在单击按钮时显示任何 toast。如果出现 toast,则说明您的点击事件有效;如果未显示 toast,则说明您的按钮点击无效。

关于android - Bug in a code the buttons 这些按钮什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42895249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com