Java GridView上的第一个按钮不工作
我的GridView工作正常,但第一个按钮不工作。所有其他按钮都独立工作。另外,在调试过程中,我发现监听器工作得很好,问题一定来自适配器。类“Case”用于单独处理每个按钮。按钮应该是翻转的,从一个淡而无味的橙色图像变成一个水果图像。以下是我的三节课: 主要活动:Java GridView上的第一个按钮不工作,java,android,gridview,adt,adapter,Java,Android,Gridview,Adt,Adapter,我的GridView工作正常,但第一个按钮不工作。所有其他按钮都独立工作。另外,在调试过程中,我发现监听器工作得很好,问题一定来自适配器。类“Case”用于单独处理每个按钮。按钮应该是翻转的,从一个淡而无味的橙色图像变成一个水果图像。以下是我的三节课: 主要活动: public class MainActivity extends Activity implements OnItemClickListener { GridView gridView; EasyGame easy
public class MainActivity extends Activity implements OnItemClickListener {
GridView gridView;
EasyGame easyGame;
public static Case[] cases;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cases = new Case[16];
easyGame = new EasyGame(this);
this.gridView = (GridView) findViewById(R.id.Cases);
this.gridView.setAdapter(easyGame);
this.gridView.setOnItemClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
cases[arg2].flip();
}
}
以下是XML文件:
主要活动:
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<GridView
android:id="@+id/Cases"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="4"
android:columnWidth="120dp">
</GridView>
</RelativeLayout>
案例视图:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/uneCase"
android:src="@drawable/flipped" />
</LinearLayout>
单击第一个项目时会发生什么情况?它是偶然出现的吗?或者它不会切换到您在案例中传递的图像资源构造函数?@AndreiBogdan这就是程序的全部内容。没有更多的代码,所以必须从这里开始。当我单击第一项时,会调用onItemClick
。它也像其他物品一样进入翻转功能…哇。有趣。因此,第一项100%调用了onItemClick
,它进入flip()
方法。嗯。图像
资源ID是否可以为0?事实上,如果您将其设置为0,它将删除ImageView
中的图像(如果我没有弄错的话)。这值得一试,请取出图像
值并检查。@AndreiBogdan刚刚试过。图像
资源ID每次都会更改,因此一切都井然有序。我不知道为什么它不起作用……我也是。你能把布局也贴在这里吗?“活动”和“网格视图”项目的名称?
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<GridView
android:id="@+id/Cases"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="4"
android:columnWidth="120dp">
</GridView>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/uneCase"
android:src="@drawable/flipped" />
</LinearLayout>