小编Bri*_*ley的帖子

如何在android中的网格视图中禁用项目单击特定位置

我正在使用网格视图,其中我使用每个单元格的文本视图.我正在使用onitemclick在单击网格单元格时执行某些操作.我想在网格视图中禁用项目单击特定位置.我怎么做.我使用convertView.setclickable(false)来获取getView中的特定位置,它给出了空指针异常.我怎么做??这是我的代码.

@Override
public View getView(int position, View convertView, ViewGroup parent) {
  if (convertView == null) {
    textView = new TextView(context);
    textView.setLayoutParams(new GridView.LayoutParams(35, 35));
  } else {
    textView = (TextView) convertView;
  }

        textView.setTextSize(10);
        day_color = list.get(position).split("-");
        textView.setText(day_color[0]);

        if (day_color[1].equals("GREY")) {
            textView.setTextColor(Color.LTGRAY);
            //greyvalues.get(position)CalendarEvents
            convertView.setClickable(false);

        }
        if (day_color[1].equals("BLACK")) {
            textView.setTextColor(Color.BLACK);
        }
        if ((day_color[1].equals("BLUE"))) {
            textView.setTextColor(Color.RED);
        }

        setColor = Color.TRANSPARENT;
        if (position >= startPos && position <= endPos
                && selectdayselected != true) {
            setColor = Color.DKGRAY;
        }
        if (startPos == position && selectdayselected == …
Run Code Online (Sandbox Code Playgroud)

android

9
推荐指数
2
解决办法
1万
查看次数

如何让Android TableLayout以横向模式填充父级?

我在我的应用程序中使用TableLayout.它包含四个TableRows,每个TableRows包含四个ImageView.我想要的行为是缩放布局以适应最短的尺寸.

它在纵向模式下工作正常但在横向模式下失败.

文档看起来这是因为TableRow layout_height始终设置为WRAP_CONTENT.虽然我可以设置各个视图的尺寸,但如果我将View layout_height设置为FILL_PARENT,则TableLayout根本不会渲染.

我觉得我有一些简单的东西.有没有办法让TableLay与TableRows一起缩放以适应横向模式的高度?

XML布局:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/table"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:shrinkColumns="*">
</TableLayout>
Run Code Online (Sandbox Code Playgroud)

Java的:

public class Example extends Activity {

private TableLayout mTable;
private int[] mDrawableIds = {  R.drawable.draw01, R.drawable.draw02, R.drawable.draw03, R.drawable.draw04, R.drawable.draw05, R.drawable.draw06,   R.drawable.draw07, R.drawable.draw08, R.drawable.draw09, R.drawable.draw10, R.drawable.draw11, R.drawable.draw12, R.drawable.draw13, R.drawable.draw14, R.drawable.draw15, R.drawable.draw16 };

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mTable = (TableLayout)findViewById(R.id.table);
    for (int j=0; j<4; j++) {
        TableRow tr = new TableRow(this);
        tr.setLayoutParams(new ViewGroup.LayoutParams(  LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));
           for (int i=0; …
Run Code Online (Sandbox Code Playgroud)

android tablelayout

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×2

tablelayout ×1