Как позволить OnClick в ListView Адаптер вызывать функцию Activity
У меня есть приложение Android с ListView в нем, ListView будет настроен нормально, но теперь я хочу, чтобы изображение в ListView было кликабельным. Я делаю это, используя 2 класса: класс Activity (родительский) и ArrayAdapter для заполнения списка. В ArrayAdapter я реализую OnClickListener для изображения в списке, который я хочу, чтобы на него нажимали.
Пока все это работает.
Но теперь я хочу запустить функцию из класса активности, когда onClick для изображения в списке, но я не знаю как. Ниже приведены 2 класса, которые я использую.
Сначала класс Activity:
<code>public class parent_class extends Activity implements OnClickListener, OnItemClickListener { child_class_list myList; ListView myListView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // setup the Homelist data myList = new child_class_list (this, Group_Names, Group_Dates); myListView = (ListView) findViewById(R.id.list); // set the HomeList myListView.setAdapter( myList ); myListView.setOnItemClickListener(this); } void function_to_run() { // I want to run this function from the LiscView Onclick } public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // do something } } </code>
И ArrayAdapter, откуда я хочу вызвать функцию из класса Activity:
<code>public class child_class_list extends ArrayAdapter<String> { // private private final Context context; private String[] mName; private String[] mDate; public child_class_list (Context context, String[] Name, String[] Date) { super(context, R.layout.l_home, GroupName); this.context = context; this.mName = Name; this.mDate = Date; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View rowView = inflater.inflate(R.layout.l_home, parent, false); ImageView selectable_image = (ImageView) rowView.findViewById(R.id.l_selectable_image); selectable_image.setOnClickListener(new OnClickListener() { public void onClick(View v) { // I want to run the function_to_run() function from the parant class here } } ); // get the textID's TextView tvName = (TextView) rowView.findViewById(R.id.l_name); TextView tvDate = (TextView) rowView.findViewById(R.id.l_date); // set the text tvName.setText (mName[position]); tvDate.setText (mDate[position]); return rowView; } } </code>
Если кто-нибудь знает, как запустить функцию в классе активности из массива-адаптера или как установить изображение наClickListener в классе деятельности, я бы очень сильно помогла справке.