GridView AutoCompleteTextView Spinnner

本文介绍了如何在Android应用中使用GridView展示数据,并展示了具体的布局文件和代码实现细节。此外,还涉及了AutoCompleteTextView和Spinner组件的应用场景及配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

####GridView。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <GridView

        android:id="@+id/gridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="4"></GridView>

</RelativeLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal">
    <ImageView
        android:id="@+id/image"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:src="@mipmap/ic_launcher"/>
    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="名字" />

</LinearLayout>
public class Fruit {
    private int  img;
    private String text;
    public Fruit(int img,String text){
        this.img=img;
        this.text=text;
    }

    public void setImg(int img) {
        this.img = img;
    }

    public void setText(String text) {
        this.text = text;
    }

    public int getImg() {
        return img;
    }

    public String getText() {
        return text;
    }
}
public class FruitAdapter extends BaseAdapter {
    private LayoutInflater mInflater;
    private List<Fruit>  mFruits;
    public FruitAdapter(LayoutInflater inflaterr,List<Fruit> mData){
        this.mInflater=inflaterr;
        this.mFruits=mData;
    }
    @Override
    public int getCount() {
        return mFruits.size();
    }

    @Override
    public Object getItem(int position) {
        return  position;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder vh=null;
        if (convertView==null){

            convertView=mInflater.inflate(R.layout.fruit_activity,null);
            vh=new ViewHolder();
            vh.imageView= (ImageView) convertView.findViewById(R.id.image);
            vh.textView= (TextView) convertView.findViewById(R.id.textview);
            convertView.setTag(vh);//把vh放在标签中
        }else{
            vh=(ViewHolder)convertView.getTag();//当屏幕向上滑动是直接把标签拿来使用
        }
        Fruit fruit=mFruits.get(position);
        vh.imageView.setImageResource(fruit.getImg());
        vh.textView.setText(fruit.getText());

        return convertView;
    }
    class ViewHolder{
        ImageView imageView;
        TextView textView;
    }
}
public class MainActivity extends AppCompatActivity {
    private LayoutInflater mInfalter;
    private List<Fruit> mData;
    private GridView mGrid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mGrid= (GridView) findViewById(R.id.gridView);
        mInfalter=getLayoutInflater();
        initData();
        FruitAdapter adapter=new FruitAdapter(mInfalter,mData);
        mGrid.setAdapter(adapter);
    }

    private void initData() {
        mData=new ArrayList<>();
        for (int i=0;i<10;i++) {
            Fruit fruit1 = new Fruit(R.mipmap.apple, "苹果");
            Fruit fruit2 = new Fruit(R.mipmap.grape, "葡萄");
            Fruit fruit3 = new Fruit(R.mipmap.bananer, "香蕉");
            Fruit fruit4 = new Fruit(R.mipmap.caomei, "草莓");
            mData.add(fruit1);
            mData.add(fruit2);
            mData.add(fruit3);
        }

    }

####AutoCompleteTextView

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

   <AutoCompleteTextView
       android:id="@+id/autocomplete"
       android:layout_width="match_parent"
       android:layout_height="wrap_content" />
</RelativeLayout>
public class MainActivity extends AppCompatActivity {
    private AutoCompleteTextView mAuto;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mAuto= (AutoCompleteTextView) findViewById(R.id.autocomplete);
        String [] array={"google","googleMap","Google","googleSing","goolescanner"};
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,array);
        mAuto.setAdapter(adapter);

    }

这里写图片描述
##Spinnner

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

   <Spinner
       android:id="@+id/spinner"
       android:layout_width="match_parent"
       android:layout_height="wrap_content">

   </Spinner>
</RelativeLayout>

public class MainActivity extends AppCompatActivity {
    private Spinner mSpinnr;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       mSpinnr= (Spinner) findViewById(R.id.spinner);
        String [] array={"google","googleMap","Google","googleSing","goolescanner","中国","美国","日本"};
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,array);
        mSpinnr.setAdapter(adapter);

    }

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值