обработчик клика через адаптер
Добавлено: 03 сен 2014, 17:26
Подскажите пожалуйста, я новичок, не получается создать обработчик клика через адаптер.
Адаптер:
Код активи:
такой вариант не работает, я что то не дописываю, или вообще не правильно делаю, помогите пожалуйста.
код вью, на всякий случай
Адаптер:
Код: Выделить всё
public class lvladapter extends BaseAdapter {
private Context mContext;
public tasklvl[] lvl = {
new tasklvl ("android.resource://com.example.mygames/raw/" + R.raw.son_new, "son"),
new tasklvl ("android.resource://com.example.mygames/raw/" + R.raw.son_new1, "son2"),
new tasklvl ("android.resource://com.example.mygames/raw/" + R.raw.son_new, "son3")
};
public lvladapter(Context c) {
mContext = c;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return lvl.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return lvl[position];
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View arg1, ViewGroup arg2) {
Button button = new Button(mContext);
button.setText(String.valueOf(position+1));
return button;
}
}
Код: Выделить всё
public class lvlActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lvl);
GridView gridView = (GridView) findViewById(R.id.gvMain);
gridView.setAdapter(new lvladapter(this));
gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(this, actActionLvl.class);
startActivity(intent);
}
});
}
}
код вью, на всякий случай
Код: Выделить всё
<?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">
<GridView
android:id="@+id/gvMain"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</GridView>
</LinearLayout>