我的EditText的setText没有编译器错误,但是该应用强制关闭

时间:2019-01-01 17:35:43

标签: java android android-textinputedittext

我想让我的EditText从我的Firebase数据库中得到一些东西,但是它不能执行setText方法 我从stackoverflow中阅读了很多东西,但无法解决我的应用的问题

这是课程代码:

public class TabFragment4 extends Fragment {
Uri filePath;
private static final int PICK_IMAGE = 100;
@Nullable
@Override
public View onCreateView(@Nullable LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    final View view = inflater.inflate(R.layout.fragment4_layout, container, false);
    Bundle b1 = this.getArguments();
    final String name = b1.getString("name");
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference myRef = database.getReference("user").child(name);
    myRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String na = dataSnapshot.child("nama").getValue(String.class);
            String ma = dataSnapshot.child("hp").getValue().toString();
            EditText edit1 = (EditText) view.findViewById(R.id.edit1);
            EditText edit2 = (EditText) view.findViewById(R.id.edit2);
            edit1.setText(na);
            edit2.setText("Test");
        }

        @Override
        public void onCancelled(DatabaseError error) {
        }
    });
    Button btn = (Button) view.findViewById(R.id.btng1);

    ImageView ipv = (ImageView) view.findViewById(R.id.ivp);
    new DownloadImageTask(ipv)
            .execute("https://firebasestorage.googleapis.com/v0/b/tugasakhir-6571b.appspot.com/o/images%2F"+name+"?alt=media");
    ipv.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
            startActivityForResult(i, PICK_IMAGE);
        }
    });
    return view;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
    ImageView imgProf = (ImageView) this.getView().findViewById(R.id.ivp);
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK && requestCode == PICK_IMAGE){
        filePath = data.getData();
        imgProf.setImageURI(filePath);
    }
}

}

即使直接使用新的String,我也无法使用String变量进行setText

0 个答案:

没有答案