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);