2016-04-07 12 views
0

grid'imde bir nesne ayarlamak istiyorum: artefact adlı nesne bir görüntü veya mesaj olabilir, Ancak kodumu çalıştırdıktan ve bir nesne ekledikten sonra, ızgara görünümü görünmez. bu benim kodum. Ben böyle bir şey için GetView değiştirmek .ama burada ulaşmaya çalıştıkları bilmiyorum benim adaptörÇoklu görünüm ile gridView yapın

public ArtifactAdapter(Context context,List<Artifact> artifacts) 
{ 
    this.context =context; 
    this.artifacts = artifacts; 
} 
@Override 
public int getCount() { 

    // Number of times getView method call depends upon gridValues.length 
    return artifacts.size(); 
} 

@Override 
public Object getItem(int position) { 

    return null; 
} 

@Override 
public long getItemId(int position) { 

    return 0; 
} 

public View getView(int position, View convertView, ViewGroup parent) { 

    // LayoutInflator to call external grid_item.xml file 


    LayoutInflater inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    Artifact artifact = artifacts.get(position); 
    View gridView; 
    gridView = new View(context); 
    if (convertView == null) { 

     ; 
     switch (artifact.getType()) { 
      case 1: 

       gridView = inflater.inflate(R.layout.artifact_article, null); 
       mTitle = (TextView) gridView.findViewById(R.id.titre); 
       mPseudo = (TextView) gridView.findViewById(R.id.pseudo); 
       mMessage = (TextView) gridView.findViewById(R.id.message_input); 
       mTitle.setText(artifact.getTitle()); 
       mPseudo.setText(artifact.getPseudo()); 
       mMessage.setText(artifact.getMessage()); 


      case 2: 
       gridView = inflater.inflate(R.layout.artifact_image, null); 
       mPseudo = (TextView) gridView.findViewById(R.id.pseudo); 
       mImage = (ImageView) gridView.findViewById(R.id.imageReceived); 
       mPseudo.setText(artifact.getPseudo()); 
       mImage.setImageBitmap(BitmapFactory.decodeFile(artifact.getImagePath())); 


     } 
    } 
    else { 

      gridView = (View) convertView; 
     } 
    return gridView; 
    } 


} 

bu etkinliği

GridView listArtifactView; 
    List<Artifact> listArtifact = new ArrayList<>(); 
    ArtifactAdapter artifactAdapter = new ArtifactAdapter(this,listArtifact); 
Artifact artefact = new Artifact(getPseudo()); 
        artefact.setTitle(titre.getText().toString()); 
        artefact.setMessage(message.getText().toString()); 
        artefact.setType(1); 

listArtifactView = (GridView) findViewById(R.id.listArtifactView); 

     listArtifactView.setAdapter(artifactAdapter); 

       listArtifact.add(artefact); 

cevap

0

uzlaşıdır.

LayoutInflater inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    Artifact artifact = artifacts.get(position); 
    if (convertView == null) { 

     switch (artifact.getType()) { 
      case 1: 

       convertView = inflater.inflate(R.layout.artifact_article, null); 
       mTitle = (TextView) convertView .findViewById(R.id.titre); 
       mPseudo = (TextView) convertView .findViewById(R.id.pseudo); 
       mMessage = (TextView) convertView .findViewById(R.id.message_input); 
       mTitle.setText(artifact.getTitle()); 
       mPseudo.setText(artifact.getPseudo()); 
       mMessage.setText(artifact.getMessage()); 


      case 2: 
       convertView = inflater.inflate(R.layout.artifact_image, null); 
       mPseudo = (TextView) convertView .findViewById(R.id.pseudo); 
       mImage = (ImageView) convertView .findViewById(R.id.imageReceived); 
       mPseudo.setText(artifact.getPseudo()); 
       mImage.setImageBitmap(BitmapFactory.decodeFile(artifact.getImagePath())); 


     } 
    } 

    return convertView 

Yardımcı olup olmadığına bakın.