ListViewにあるボタンをタップすると別のActivityに移動できるように実装したいのですが、どうすればいいでしょうか?ArrayAdapterのオリジナルアダプターのクラスから処理を行いたいと考えていますが、普通のやり方
Java
1Intent intent = new Intent(this.CommentActivity , NewActivity.class); 2startActivity(intent);
これだと、エラーが出てしまいます。やり方が分かる方がいましたら教えて下さい。
簡単なアプリの構成
MainActivity
サーバーに新しく追加されたデーターがあればListViewに追加するコード
MainActivityのLayout
ListView
Post.java
クラスで様々なオブジェクトを生成
PostAdapter.java
ArrayAdapterクラスを伝承させ、Listviewの表示の処理を行っているところです。
一応コード貼っておきます。
Java
1public class PostAdapter extends ArrayAdapter<Post> { 2 3 List<Post> items; 4 5 public PostAdapter(Context context, int resource, List<Post> objects) { 6 super(context, resource); 7 items = objects; 8 } 9 10 //省略 11 12 static class ViewHolder { 13//省略 14 } 15 16 17 @Override 18 public View getView(int position, View convertView, ViewGroup parent) { 19 20 final Post item = getItem(getCount() - 1 - position); 21 22//省略 23 24 final ViewHolder viewHolder; 25 26 if (convertView != null) { 27 viewHolder = (ViewHolder) convertView.getTag(); 28 } else { 29 convertView = LayoutInflater.from(getContext()).inflate(R.layout.listview_item_post, parent,false); 30 viewHolder = new ViewHolder(); 31 viewHolder.UserName = (TextView) convertView.findViewById(R.id.UseerName); 32//省略 33 viewHolder.Comment = (ImageButton) convertView.findViewById(R.id.CommentButton); 34 35 convertView.setTag(viewHolder); 36 } 37 38 viewHolder.UserName.setText(item.getUserName()); 39//省略 40 viewHolder.BadPoint.setText(textbad); 41 42//省略 43 44 //省略 45 }); 46 47 //コメントボタンが押されたら 48 viewHolder.Comment.setOnClickListener(new View.OnClickListener() { 49 @Override 50 public void onClick(View view) { 51 // 52 53 ここで、Activityの移動の処理を行いたいと考えています! 54 55 // 56 57 } 58 }); 59 60 return convertView; 61 } 62 63 @Override 64 public int getCount() { 65 return items.size(); 66 } 67 68 @Override 69 public Post getItem(int position) { 70 return items.get(position); 71 } 72}
回答2件
あなたの回答
tips
プレビュー