使用Android中的适配器向GridView添加更多元素

时髦的cookie

这是所需的输出:

http://imgur.com/v3J0sbs

因此,基本上,我正在使用GridView生成所有这18个按钮,并且尝试在每个Button的顶部添加一些TextView,在最后一个按钮的底部添加2。

这是我的适配器实现:

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;

/**
 * Created by pop on 9/15/2014.
 */
public class CustomGridAdapter extends BaseAdapter {

    private Context _context;
    private String[] _items;
    LayoutInflater _inflater;

    public CustomGridAdapter(Context context, String[] items) {
        this._context = context;
        this._items = items;
        _inflater = (LayoutInflater) this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public int getCount() {
        return _items.length;
    }

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

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            convertView = _inflater.inflate(R.layout.screen_gridcell_time, null);
        }
        Button button = (Button) convertView.findViewById(R.id.calendar_day_gridcell);
        button.setText(_items[position]);

        return convertView;
    }
}

我的网格:

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

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@android:color/transparent"
    android:padding="4dp">

    <ToggleButton
        android:id="@+id/calendar_day_gridcell"
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:layout_gravity="center"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/wampWhite"
        android:background="@drawable/time_input_button_selector"
        android:layout_marginLeft="2dp"
        android:textOff=""
        android:textOn="\u2713"
        />

</RelativeLayout>

而Java文件使用这两个:

public class TimeActivity extends Activity  {

    private GridView gridView;
    private final String[] items = new String[] {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_time);
        setFonts();

        gridView = (GridView) this.findViewById(R.id.timeInputView);
        CustomGridAdapter adapter = new CustomGridAdapter(TimeActivity.this, items);
        gridView.setAdapter(adapter);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.time, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    private void setFonts() {
        Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/Roboto-Medium.ttf");
        TextView dateOutput = (TextView) findViewById(R.id.dateOutput);
        dateOutput.setTypeface(tf);
    }
}

我尝试在gridcell中添加一个TextView,然后再给它android:layout_above(按钮的ID),但它只是在按钮的顶部,位于按钮的内部。有什么建议?干杯!

博格斯

这是使您的RelativeLayout看起来像您想要的一种方法:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@android:color/transparent"
android:padding="4dp">

<TextView
    android:id="@+id/gridcell_time"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="6:00" />

<ToggleButton
    android:id="@+id/calendar_day_gridcell"
    android:layout_width="100dp"
    android:layout_height="40dp"
    android:layout_below="@id/gridcell_time"
    android:layout_gravity="center"
    android:textColor="@color/wampWhite"
    android:background="@drawable/time_input_button_selector"
    android:layout_marginLeft="2dp"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textOff=""
    android:textOn="\u2713" />

</RelativeLayout>

我所要做的就是在ToggleButton之前添加TextView并将TextView的layout_centerHorizontal属性设置true我还将belowToggleButton属性更改为TextView的ID(在本例中,我将其称为gridcell_time)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何向数组中的特定键添加更多元素?

来自分类Dev

Android使用适配器从GridView获取视图

来自分类Dev

Android使用适配器从GridView获取视图

来自分类Dev

Android上的GridView适配器(错误)

来自分类Dev

Firebase在Android的适配器中添加侦听器

来自分类Dev

从适配器中的片段调用元素

来自分类Dev

从适配器中的片段调用元素

来自分类Dev

在适配器中添加新值

来自分类Dev

向邮件入站通道适配器添加建议

来自分类Dev

从适配器向模型数组对象添加值

来自分类Dev

Android,适配器的getView中的NullPointerException

来自分类Dev

如何使用适配器中的数据将其显示在 GridView 中?

来自分类Dev

当向其添加更多元素时,插入div块中的表水平重叠

来自分类Dev

用于GridView的Android文本和图像适配器的片段

来自分类Dev

Android:如何使GridView充满2个适配器

来自分类Dev

如何在GridView适配器中存储位图?

来自分类Dev

gridview的适配器类中的多个图像数组

来自分类Dev

片段中从DialogFragment到GridView适配器的notifyDataSetChanged()

来自分类Dev

gridview的适配器类中的多个图像数组

来自分类Dev

使用自定义适配器填充GridView的困难

来自分类Dev

无法将JSON中的新数据添加到Android中的Listview适配器

来自分类Dev

Android:适配器中还是适配器之外的OnClick Listener?

来自分类Dev

Android中的ListView和适配器,是否属于适配器设计模式?

来自分类Dev

Android:适配器中还是适配器之外的OnClick Listener?

来自分类Dev

添加适配器后,Android Spinner保持为空

来自分类Dev

隐藏阵列适配器中的元素,而不是删除它们

来自分类Dev

使用网格视图在适配器中添加按钮数组

来自分类Dev

Android基础适配器

来自分类Dev

在适配器中在运行时添加TextView

Related 相关文章

  1. 1

    如何向数组中的特定键添加更多元素?

  2. 2

    Android使用适配器从GridView获取视图

  3. 3

    Android使用适配器从GridView获取视图

  4. 4

    Android上的GridView适配器(错误)

  5. 5

    Firebase在Android的适配器中添加侦听器

  6. 6

    从适配器中的片段调用元素

  7. 7

    从适配器中的片段调用元素

  8. 8

    在适配器中添加新值

  9. 9

    向邮件入站通道适配器添加建议

  10. 10

    从适配器向模型数组对象添加值

  11. 11

    Android,适配器的getView中的NullPointerException

  12. 12

    如何使用适配器中的数据将其显示在 GridView 中?

  13. 13

    当向其添加更多元素时,插入div块中的表水平重叠

  14. 14

    用于GridView的Android文本和图像适配器的片段

  15. 15

    Android:如何使GridView充满2个适配器

  16. 16

    如何在GridView适配器中存储位图?

  17. 17

    gridview的适配器类中的多个图像数组

  18. 18

    片段中从DialogFragment到GridView适配器的notifyDataSetChanged()

  19. 19

    gridview的适配器类中的多个图像数组

  20. 20

    使用自定义适配器填充GridView的困难

  21. 21

    无法将JSON中的新数据添加到Android中的Listview适配器

  22. 22

    Android:适配器中还是适配器之外的OnClick Listener?

  23. 23

    Android中的ListView和适配器,是否属于适配器设计模式?

  24. 24

    Android:适配器中还是适配器之外的OnClick Listener?

  25. 25

    添加适配器后,Android Spinner保持为空

  26. 26

    隐藏阵列适配器中的元素,而不是删除它们

  27. 27

    使用网格视图在适配器中添加按钮数组

  28. 28

    Android基础适配器

  29. 29

    在适配器中在运行时添加TextView

热门标签

归档