我正在使用网格视图,其中我使用每个单元格的文本视图.我正在使用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) 我在我的应用程序中使用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)