Java @凌驾 onAnimationRepeat上的公共无效(动画){ } }); } }); } @凌驾 public void onBackPressed(){ 抽屉布局抽屉=(抽屉布局)findViewById(R.id.抽屉布局); if(抽屉isDrawerOpen(重力压缩机启动)){ 抽屉。关闭抽屉(重力压缩机启动); }否则{ super.onBackPressed(); } } @凌驾 公共布尔onCreateOptions菜单(菜单){ //为菜单充气;这会将项目添加到操作栏(如果存在)。 getMenuInflater().充气(R.menu.main,menu); 返回true; } @凌驾 公共布尔值onOptionsItemSelected(菜单项项){ //处理操作栏项目单击此处。操作栏将 //自动处理Home/Up按钮上的点击,只要 //在AndroidManifest.xml中指定父活动时。 int id=item.getItemId(); //noinspection SimplifiableIf语句 if(id==R.id.menu\u映射){ Intent Intent=新Intent(这是MapsActivity.class); 这一点。触觉(意图); } 返回super.onOptionsItemSelected(项目); } @SuppressWarnings(“StatementWithEmptyBody”) @凌驾 公共布尔值onNavigationItemSelected(MenuItem项){ //处理导航视图项单击此处。 int id=item.getItemId(); if(id==R.id.nav_幻灯片){ Intent cinemaIntent=新的Intent(这是MapsActivity.class); 星触觉(电影意图); }else if(id==R.id.nav_manage){ Intent cinemaIntent=新的Intent(这是Get_Data.class); 星触觉(电影意图); }else if(id==R.id.nav_共享){ 试一试{ //尝试在facebook本机应用程序中打开页面。 String uri=“fb://page/”+“293069792077”;//Cutsom URL Intent Intent=newintent(Intent.ACTION_视图,Uri.parse(Uri)); 星触觉(意向); }捕获(ActivityNotFoundException ex){ //facebook本机应用程序不可用,请使用浏览器。 字符串uri=”http://touch.facebook.com/pages/x/“+“293069792077”;//正常URL Intent i=新的Intent(Intent.ACTION_视图,Uri.parse(Uri)); 星触觉(i); } }else if(id==R.id.nav_send){ 意向cinemaIntent=新意向(此,关于我们的类); 星触觉(电影意图); } 抽屉布局抽屉=(抽屉布局)findViewById(R.id.抽屉布局); 抽屉。关闭抽屉(重力压缩机启动); 返回true; } //Firebase用户界面的视图持有者 公共静态类MovieViewHolder扩展了RecyclerView.ViewHolder{ TextView tvMovieName、地址、电话、灯光、lon; ImageView电影海报; 公众电影观众(视图v){ 超级(五); tvMovieName=(TextView)v.findviewbyd(R.id.tv_名称); 地址=(TextView)v.findViewById(R.id.address1); 电话=(文本视图)v.findviewbyd(R.id.tv\u电话); lit=(文本视图)v.findViewById(R.id.geo); lon=(TextView)v.findviewbyd(R.id.geo2); ivMoviePoster=(ImageView)v.findViewById(R.id.iv电影海报); } } }
在populateViewHolder中将onClickListener添加到ViewHolder的itemView中,然后启动活动。就像下面的例子Java @凌驾 onAnimationRepeat上的公共无效(动画){ } }); } }); } @凌驾 public void onBackPressed(){ 抽屉布局抽屉=(抽屉布局)findViewById(R.id.抽屉布局); if(抽屉isDrawerOpen(重力压缩机启动)){ 抽屉。关闭抽屉(重力压缩机启动); }否则{ super.onBackPressed(); } } @凌驾 公共布尔onCreateOptions菜单(菜单){ //为菜单充气;这会将项目添加到操作栏(如果存在)。 getMenuInflater().充气(R.menu.main,menu); 返回true; } @凌驾 公共布尔值onOptionsItemSelected(菜单项项){ //处理操作栏项目单击此处。操作栏将 //自动处理Home/Up按钮上的点击,只要 //在AndroidManifest.xml中指定父活动时。 int id=item.getItemId(); //noinspection SimplifiableIf语句 if(id==R.id.menu\u映射){ Intent Intent=新Intent(这是MapsActivity.class); 这一点。触觉(意图); } 返回super.onOptionsItemSelected(项目); } @SuppressWarnings(“StatementWithEmptyBody”) @凌驾 公共布尔值onNavigationItemSelected(MenuItem项){ //处理导航视图项单击此处。 int id=item.getItemId(); if(id==R.id.nav_幻灯片){ Intent cinemaIntent=新的Intent(这是MapsActivity.class); 星触觉(电影意图); }else if(id==R.id.nav_manage){ Intent cinemaIntent=新的Intent(这是Get_Data.class); 星触觉(电影意图); }else if(id==R.id.nav_共享){ 试一试{ //尝试在facebook本机应用程序中打开页面。 String uri=“fb://page/”+“293069792077”;//Cutsom URL Intent Intent=newintent(Intent.ACTION_视图,Uri.parse(Uri)); 星触觉(意向); }捕获(ActivityNotFoundException ex){ //facebook本机应用程序不可用,请使用浏览器。 字符串uri=”http://touch.facebook.com/pages/x/“+“293069792077”;//正常URL Intent i=新的Intent(Intent.ACTION_视图,Uri.parse(Uri)); 星触觉(i); } }else if(id==R.id.nav_send){ 意向cinemaIntent=新意向(此,关于我们的类); 星触觉(电影意图); } 抽屉布局抽屉=(抽屉布局)findViewById(R.id.抽屉布局); 抽屉。关闭抽屉(重力压缩机启动); 返回true; } //Firebase用户界面的视图持有者 公共静态类MovieViewHolder扩展了RecyclerView.ViewHolder{ TextView tvMovieName、地址、电话、灯光、lon; ImageView电影海报; 公众电影观众(视图v){ 超级(五); tvMovieName=(TextView)v.findviewbyd(R.id.tv_名称); 地址=(TextView)v.findViewById(R.id.address1); 电话=(文本视图)v.findviewbyd(R.id.tv\u电话); lit=(文本视图)v.findViewById(R.id.geo); lon=(TextView)v.findviewbyd(R.id.geo2); ivMoviePoster=(ImageView)v.findViewById(R.id.iv电影海报); } } },java,android,firebase,firebase-realtime-database,android-recyclerview,Java,Android,Firebase,Firebase Realtime Database,Android Recyclerview,在populateViewHolder中将onClickListener添加到ViewHolder的itemView中,然后启动活动。就像下面的例子 @Override protected void populateViewHolder(MovieViewHolder viewHolder, final Movie model, final int position) { if(tvNoMovies.getVisibility()== View.VISIBLE){
@Override
protected void populateViewHolder(MovieViewHolder viewHolder, final Movie model, final int position) {
if(tvNoMovies.getVisibility()== View.VISIBLE){
tvNoMovies.setVisibility(View.GONE);
}
viewHolder.tvMovieName.setText(model.getMovieName());
viewHolder.address.setText(model.getAddress());
viewHolder.phone.setText(model.getPhone());
viewHolder.lit.setText(model.getLit());
viewHolder.lon.setText(model.getLon());
Picasso.with(MainActivity.this).load(model.getMoviePoster()).into(viewHolder.ivMoviePoster);
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
//intent.putExtra("model", model);
intent.putExtra("latitude", model.getLit());
intent.putExtra("longitude", model.getLon());
startActivity(intent);
}
});
// all your stuff
}
在populateViewHolder中将onClickListener添加到ViewHolder的itemView中并启动活动。就像下面的例子
@Override
protected void populateViewHolder(MovieViewHolder viewHolder, final Movie model, final int position) {
if(tvNoMovies.getVisibility()== View.VISIBLE){
tvNoMovies.setVisibility(View.GONE);
}
viewHolder.tvMovieName.setText(model.getMovieName());
viewHolder.address.setText(model.getAddress());
viewHolder.phone.setText(model.getPhone());
viewHolder.lit.setText(model.getLit());
viewHolder.lon.setText(model.getLon());
Picasso.with(MainActivity.this).load(model.getMoviePoster()).into(viewHolder.ivMoviePoster);
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
//intent.putExtra("model", model);
intent.putExtra("latitude", model.getLit());
intent.putExtra("longitude", model.getLon());
startActivity(intent);
}
});
// all your stuff
}
在您的
populateViewHolder
中尝试这样添加onClickListener
@Override
protected void populateViewHolder(MovieViewHolder viewHolder, final Movie model, final int position) {
if(tvNoMovies.getVisibility()== View.VISIBLE){
tvNoMovies.setVisibility(View.GONE);
}
viewHolder.tvMovieName.setText(model.getMovieName());
viewHolder.address.setText(model.getAddress());
viewHolder.phone.setText(model.getPhone());
viewHolder.lit.setText(model.getLit());
viewHolder.lon.setText(model.getLon());
Picasso.with(MainActivity.this).load(model.getMoviePoster()).into(viewHolder.ivMoviePoster);
viewHolder.tvMovieName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
startActivity(intent);
}
});
}
在您的
populateViewHolder
中尝试这样添加onClickListener
@Override
protected void populateViewHolder(MovieViewHolder viewHolder, final Movie model, final int position) {
if(tvNoMovies.getVisibility()== View.VISIBLE){
tvNoMovies.setVisibility(View.GONE);
}
viewHolder.tvMovieName.setText(model.getMovieName());
viewHolder.address.setText(model.getAddress());
viewHolder.phone.setText(model.getPhone());
viewHolder.lit.setText(model.getLit());
viewHolder.lon.setText(model.getLon());
Picasso.with(MainActivity.this).load(model.getMoviePoster()).into(viewHolder.ivMoviePoster);
viewHolder.tvMovieName.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
startActivity(intent);
}
});
}
意向。额外(“模型”,模型);是否将所有数据一次传递给DetailActivity.class?是的,它将发送模型对象,别忘了将您的电影对象设置为可序列化或可包裹。如果我只想将Lit=纬度和Lon=经度传递给DetailActivity.class以显示项目的位置单击我希望此图像按钮打开手机应用程序并将电话号码发送到拨号器我有此代码,但当单击imagebutton时应用程序崩溃。viewHolder.imageButton.setOnClickListener(新视图.OnClickListener(){@Override public void onClick(视图v){Intent Intent=new Intent(Intent.ACTION_调用);Intent.setData(Uri.parse(model.getPhone());});添加崩溃日志.intent.putExtra(“model”,model);是否将所有数据一次传递给DetailActivity.class?是的,它将发送模型对象,别忘了将您的电影对象设置为可序列化或可包裹。如果我只想将Lit=纬度和Lon=经度传递给DetailActivity.class以显示项目的位置单击我希望此图像按钮打开手机应用程序并将电话号码发送到拨号器我有此代码,但当单击imagebutton时应用程序崩溃。viewHolder.imageButton.setOnClickListener(新视图.OnClickListener(){@Override public void onClick(视图v){Intent Intent=new Intent(Intent.ACTION_调用);Intent.setData(Uri.parse(model.getPhone());});添加您的崩溃日志。