ムービーのリストを表示するには、MovieAdapterというListAdapterを使用するMoviesActivityというアクティビティがあります。各リストアイテムは名前等を有し、ユーザがクリックして映画を再生することができるボタンを有する。私の質問は - どのようにボタンに関連付けられたonClickコードをMovieAdapterクラスからMoviesActivityクラスに移すのですか? MovieAdapterListAdapterの代わりに元のアクティビティのボタンをキャプチャする方法
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ため
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);
}
コードが完全に機能しています。私の質問です - 私はMoviesAdctorではなくMoviesActivityで映画を再生するためのコードを記述したいと思います。どうやってやるの?私は同様の問題を何度も経験しましたが、(静的メソッドなどを使用する以外の)良いテクニックは見つけられませんでした。問題は、onClick内部でgetWindow()を発行しようとしたときです。
私はなぜ私が活動をインスタンス化することができなかったことが起こったのか分かりません!どうもありがとう! (あなたの答えを投票するために今評判がない) – Mahesh