0

私はこれを試します:

main.xml

  <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:id="@+id/mainLayout">
<GridView
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:numColumns="2"
android:id="@+id/gridView1_bir">
</GridView>
</LinearLayout>

grid_prueba1.xml

  <?xml version="1.0" encoding="utf-8"?>

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_height="wrap_content"
android:background="#DC0000"
android:orientation="vertical"
android:layout_width="fill_parent"    
android:id="@+id/relaGrid"
 >


<ImageView
    android:id="@+id/img2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

     />

<TextView
    android:id="@+id/txt2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/img2"     

    android:text="TextView"
    android:textColor="#FFFFFF" />

 </RelativeLayout>

ImageAdapter.java

   package es.ejemplo.gridviewprueba;

 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.net.URI;
 import java.net.URL;

 import android.R.integer;
 import android.app.Activity;
 import android.content.Context;
 import android.graphics.BitmapFactory;
 import android.graphics.drawable.Drawable;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.BaseAdapter;
 import android.widget.GridView;
 import android.widget.ImageView;
 import android.widget.ListAdapter;
 import android.widget.RelativeLayout;
 import android.widget.TextView;

    public class ImageAdapter extends BaseAdapter implements ListAdapter {

private Context context;
public ImageAdapter(Context context) {
    super();
    this.context = context;
    GridViewConfig.addImageUrls();
}

@Override
public int getCount() {
    return GridViewConfig.getResim_list().size();
}

@Override
public Object getItem(int position) {

    return GridViewConfig.getResim_list().get(position);
}

@Override
public long getItemId(int position) {

    return position;
}

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

    View myView;

    if(convertView==null)
    {

        LayoutInflater li = ((Activity)context).getLayoutInflater();
        myView = li.inflate(R.layout.grid_prueba1, null);
        myView.setLayoutParams(new GridView.LayoutParams(100,100));
        myView.setPadding(5,5,5,5);


    }else{

        myView = (View)convertView;

    }

    ImageView img = (ImageView)myView.findViewById(R.id.img2);
        img.setImageDrawable(LoadImageFromURL(GridViewConfig.getResim_list().get(position)));
    TextView txt = (TextView)myView.findViewById(R.id.txt2);
    txt.setText("Adept0000"+position);

    return myView;
}


private Drawable LoadImageFromURL(String url)
{
try
{
InputStream is = (InputStream) new URL(url).getContent();

Drawable d = Drawable.createFromStream(is, "src");
return d;
}catch (Exception e) {
System.out.println(e);
return null;
}
}

   }

GridviewConfig は、画像の URL をロードするクラスです。

MyGridView.java

   package es.ejemplo.gridviewprueba;

 import android.app.Activity;
 import android.os.Bundle;
 import android.view.View;

 import android.widget.AdapterView;
 import android.widget.GridView;
 import android.widget.Toast;

public class MyGridView extends Activity {
private GridView girGridView;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    girGridView=(GridView) findViewById(R.id.gridView1_bir);

    girGridView.setAdapter(new ImageAdapter(this));

    girGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View view, int position,long arg3) {
            Toast.makeText(getApplicationContext(), GridViewConfig.getResim_list().get(position), Toast.LENGTH_SHORT).show();
        }
    });
}

}

このコードを使用して、グリッドビューに上記のテキストを含む画像をロードします。テキストは、写真の説明またはタイトルの下にあるふりをしています。

texview を使用した imageview と gridview の例をいくつか見ましたが、問題を解決できませんでした。助けてくれませんか?

4

4 に答える 4

0

わかりました、ありがとうベンキー。これで私は私の問題を解決しました。

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

    View myView;

    if(convertView==null)
    {

        LayoutInflater li = ((Activity)context).getLayoutInflater();
        myView = li.inflate(R.layout.grid_prueba, null);
        //myView.setLayoutParams(new GridView.LayoutParams(100,100));
        myView.setPadding(5,5,5,5);


    }else{

        myView = (View)convertView;

    }


    ImageView img = (ImageView)myView.findViewById(R.id.img1);
    //img.setImageDrawable(LoadImageFromURL(GridViewConfig.getResim_list().get(position)));
    img.setImageBitmap(getBitmapFromURL(GridViewConfig.getResim_list().get(position)));
    TextView txt = (TextView)myView.findViewById(R.id.txt1);
    txt.setText("Adept0000"+position);

    return myView;
}


public static Bitmap getBitmapFromURL(String src) {
    try {
        URL url = new URL(src);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoInput(true);
        connection.connect();
        InputStream input = connection.getInputStream();
        Bitmap myBitmap = BitmapFactory.decodeStream(input);
        Bitmap myBitmap1 = myBitmap.createScaledBitmap(myBitmap, 250, 200, true);
        return myBitmap1;
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

画像とテキストを調整する必要がありますが、うまくいきます。皆さん、ありがとうございました。

于 2013-07-30T06:32:49.590 に答える
0

grid_prueba1.xmlファイルを編集しました

このコードを grid_prueba1.xml に貼り付けてください。

グラフィカルレイアウトがうまく機能することを確認してください

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/relaGrid"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#DC0000"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/img2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/txt2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/img2"
            android:text="TextView"
            android:textColor="#FFFFFF" />

    </RelativeLayout>
于 2013-07-30T08:47:08.030 に答える