MyGridViewは my onCreatehere で作成されます:
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        GridView gridview = (GridView) findViewById(R.id.gridview);
        gridview.setAdapter(new ImageAdapter(this));
...
私ImageAdapterのクラスには、.png ファイルへint[]の参照の「画像」が含まれています。R.drawable.私は onItemClickListener をさらに下に持っています。これはonCreate、どこでいつ触れられたかに応じてgridview、「画像」配列を更新します。多くの余分なコードが取り除かれると、次のようになります。
...
gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v,
                    int position, long id) {
                while (count <= 6) {
...
                    if (count == 2 && verifyEmpty == false
                            && choosePiece == true && chooseEmpty == true) {
                        verifyEmpty = gc.checkEmptyChoice(position);
                        if (verifyEmpty == true) {
                            gc.moveToEmpty(position, gameBoardModel,
                                    (ImageView) v, selectedLocation);
                            count++;
                            // UPDATE THE GRIDVIEW SOMEHOW HERE.
                        }
                        break;
                    }
...
ネストされた の内側のgridview後に右を更新したい。そのすぐ上のメソッドは、配列に変更を加えます。それらの変更を に反映させたいと思いcount++ifgc.moveToEmpty(...)imagesgridviewます。notifyDataSetChanged()andを使用しようとしinvalidateViewsましたが、どちらも my 内から機能させることはできませんonItemClickListener。
-------------------解決策--------------以下の回答から-------------- ----
ImageAdapter に名前を追加する必要がありました。
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final ImageAdapter iA = new ImageAdapter(this);
        GridView gridview = (GridView) findViewById(R.id.gridview);
        gridview.setAdapter(iA);
...
が使用できるように最終的である必要がありましonClick...た。次に、次のように参照できます。
                    if (verifyEmpty == true) {
                        gc.moveToEmpty(position, gameBoardModel,
                                (ImageView) v, selectedLocation);
                        count++;
                        // UPDATE THE GRIDVIEW SOMEHOW HERE.
                        // LIKE THIS!
                        iA.notifyDataSetChanged();
                    }