我有一個名爲MoviesActivity的活動,它使用名爲MovieAdapter的ListAdapter來顯示電影列表。每個列表項具有名稱等,並且用戶可以點擊按鈕來播放電影。我的問題是 - 如何將與按鈕相關聯的onClick代碼從MovieAdapter類切換到MoviesActivity類?如何捕獲原始活動中的按鈕點擊而不是ListAdapter
public class MoviesActivity extends Activity{
private static final String TAG = "MoviesActivity";
public ListView listView;
public MovieAdapter movieAdapter;
...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.movies);
listView = (ListView) findViewById(R.id.MovieListView);
moviesManager = new MoviesManager(client);
List<Movie> allMoviesList = moviesManager.getAllMoviesList();
movieAdapter = new MovieAdapter((Context)this, allMoviesList,moviesManager);
listView.setAdapter(movieAdapter);
}
代碼爲MovieAdapter
public class MovieAdapter extends BaseAdapter implements OnClickListener{
@Override
public View getView(int position, View convertView, ViewGroup parent) {
...
}
@Override
public void onClick(View v) {
//Play movie
...
}
}
我MovieAdapter完全正常。我的問題是 - 我想編寫代碼在MoviesActivity中播放影片,而不是在MovieAdaptor中播放。我怎樣才能做到這一點?我曾多次遇到類似的問題,但從來沒有找到一種好的技術(除了使用靜態方法等)。當我嘗試在onClick中發出一個getWindow()時,問題就來了 - 它不會因爲它不在一個Activity子類中。
我不知道爲什麼我從來沒有想過我可以實例化活動呢!非常感謝! (現在沒有聲望投票你的答案) – Mahesh