0

我如何從ListView頁面獲取圖像到詳細信息視圖頁面?我只能得到textview,無法獲取imageview。 難道我的編碼錯了嗎?我如何解決它?請幫助我謝謝。ListView onClickItemListener獲取圖像

這是我的ListView

public static final String IMAGE_NAME= "com.example.weichuan.batupahatcarworkshopsfinder.workshopsId"; 
private DatabaseReference mDatabaseRef; 
private List<ImageUpload> imgList; 
private ListView lv; 
private ImageListAdapter adapter; 
private ProgressDialog progressDialog; 
private FirebaseAuth firebaseAuth; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_image_list); 
    imgList = new ArrayList<>(); 
    lv= (ListView) findViewById(R.id.listViewImage); 
    progressDialog = new ProgressDialog(this); 
    progressDialog.setMessage("Please wait loading list image..."); 
    progressDialog.show(); 
    firebaseAuth = FirebaseAuth.getInstance(); 
    mDatabaseRef = FirebaseDatabase.getInstance().getReference(WorkshopsInfoActivity.FB_DATABASE_PATH); 
    mDatabaseRef.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      progressDialog.dismiss(); 
      for (DataSnapshot snapshot : dataSnapshot.getChildren()) { 
       ImageUpload img = snapshot.getValue(ImageUpload.class); 
       imgList.add(img); 
      } 
      adapter = new ImageListAdapter(ImageListActivity.this, R.layout.image_item, imgList); 
      lv.setAdapter(adapter); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

      progressDialog.dismiss(); 
     } 
    }); 
    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 
      ImageUpload imgList = (ImageUpload) adapterView.getAdapter().getItem(position); 
      Intent intent = new Intent(ImageListActivity.this, DetailsOfWorkshops.class); 

      String name = imgList.getName(); 
      String address = imgList.getAddress(); 
      String contact = imgList.getContact(); 
      String category = imgList.getCategory(); 
      String URL = imgList.getUrl(); 

      intent.putExtra("Name", name); 
      intent.putExtra("Address", address); 
      intent.putExtra("Contact", contact); 
      intent.putExtra("Category", category); 
      intent.putExtra("URL", URL); 
      startActivity(intent); 
     } 
    }); 
}} 

這是我詳細查看

DatabaseReference mDatabaseRef; 
private TextView textViewAddress; 
private TextView textViewContact; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_details_of_workshops); 
    mDatabaseRef = FirebaseDatabase.getInstance().getReference(WorkshopsInfoActivity.FB_DATABASE_PATH); 
    mDatabaseRef.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      Bundle img = getIntent().getExtras(); 
      final String name = img.getString("Name"); 
      final String address = img.getString("Address"); 
      final String contact = img.getString("Contact"); 
      final String category = img.getString("Category"); 
      String URL = img.getString("URL"); 

      final TextView textViewName = (TextView) findViewById(R.id.ImageName); 
      final TextView textViewAddress = (TextView) findViewById(R.id.ImageAddress); 
      final TextView textViewContact = (TextView) findViewById(R.id.ImageContact); 
      final TextView textViewCategory = (TextView) findViewById(R.id.ImageCategory); 
      final ImageView textViewImage = (ImageView) findViewById(R.id.ImageView); 

      textViewName.setText(name); 
      textViewAddress.setText(address); 
      textViewContact.setText(contact); 
      textViewCategory.setText(category); 
      textViewImage.setText(URL); 
     } 

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

回答