0
我想獲得一個GridView
內的單個項目,以便在手指移過它時更改圖像。我有兩個圖像,no_touch
和touch
。我想要的是GridView中的所有項目在活動啓動時設置爲no_touch,並且當手指觸摸任何一個或多個項目時,只需將這些項目更改爲touch
圖像。獲取一個圖形項目圖像變化onTouch - Android
所有我能得到到目前爲止是當項目之一是點擊它改變了整個GridView的的背景(並會出現一個小麪包)。我希望能夠沿着每個項目「滑行」,並且只有那些改變圖像。
我迄今爲止代碼:
MainActivity.java:
public class MainActivty extends Activity {
drawingView dview;
GridView grid;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity1);
final GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setVisibility(GridView.VISIBLE);
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
gridview.setBackgroundColor(Color.RED);
Toast.makeText(Activity1.this, "Position " + position,
Toast.LENGTH_SHORT).show();
}
});
}
}
ImageAdapter.java
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
public Integer[] mThumbIds = {R.drawable.images ....};
}
如果有誰知道怎麼樣,甚至只是爲了獲得一個個人項目改變形象onClick,這將是輝煌。
在此先感謝,
我試着實現xml版本,但應用程序崩潰。如果我想改變點擊觸摸,Java版本可能會更容易實現長期。我嘗試改變我的代碼從gridview到imageView,但隨着代碼中所有變化,它變得混亂。謝謝你的方法。我可能還會讓他們在某個時間工作 – Gurfuffle