<错误>
1.
package com.multak.cookaraclient.adapter; import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView; import com.multak.cookaraclient.R;
import com.multak.cookaraclient.info.MusicInfo; import java.util.List; /**
* Created by guoxw on 2017/6/19.
*/ public class ProRecycleViewAdapter extends RecyclerView.Adapter<ProRecycleViewAdapter.ViewHolder> implements View.OnClickListener { private static final String TAG = "ProRecycleViewAdapter";
/**
*
*/
private ProRecycleViewAdapter.OnItemClickListener mOnItemClickListener=null;
List<MusicInfo> data;
Context context;
int type;
/**
* 点击的条目
*/
int num=-2;
public void textSize(int type){
this.type=type;
} public ProRecycleViewAdapter(List<MusicInfo> data, Context context) {
this.data = data;
this.context = context;
} @Override
public ProRecycleViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view= LayoutInflater.from(context).inflate(R.layout.prorecycleview_item_layout,parent,false);
final ProRecycleViewAdapter.ViewHolder holder=new ProRecycleViewAdapter.ViewHolder(view); /**
*
*/
view.setOnClickListener(this);
return holder; } @Override
public void onBindViewHolder(ProRecycleViewAdapter.ViewHolder holder, int position) { MusicInfo musicInfo=data.get(position);
holder.textView_SongName.setText(musicInfo.getMusicName());
holder.textView_SongSinger.setText(musicInfo.getMusicSinger());
int x=position+1;
holder.textView_no.setText(""+x);
if(type==2){
holder.textView_SongName.setTextColor(context.getResources().getColor(R.color.colorHomeText));
holder.textView_SongSinger.setTextColor(context.getResources().getColor(R.color.colorHomeText));
}else if(type==1){
holder.textView_SongName.setTextColor(context.getResources().getColor(R.color.colorSingerName));
holder.textView_SongSinger.setTextColor(context.getResources().getColor(R.color.colorSingerName)); } if(num==position){ Log.d(TAG, "onBindViewHolder: NUM: "+num);
Log.d(TAG, "onBindViewHolder: Position: "+position);
holder.textView_SongName.setTextColor(context.getResources().getColor(R.color.colorAccent));
}
else {
//恢复
} /**
*
*/
holder.itemView.setTag(position);
} @Override
public int getItemCount() {
return data.size();
} class ViewHolder extends RecyclerView.ViewHolder{
View viewItem;
TextView textView_no;
TextView textView_SongName,textView_SongSinger;
public ViewHolder(View itemView) {
super(itemView);
viewItem=itemView;
textView_SongName= (TextView) itemView.findViewById(R.id.textView_SongName);
textView_SongSinger= (TextView) itemView.findViewById(R.id.textView_SongSinger);
textView_no= (TextView) itemView.findViewById(R.id.textView_no);
} } /**
*
* @param
*/
public static interface OnItemClickListener{
void onItemClick(View view,int position); }
/**
*
* @param v
*/
@Override
public void onClick(View v) { if(mOnItemClickListener != null) {
mOnItemClickListener.onItemClick(v,(int)v.getTag());
}
} /**
*
* @param listener
*/
public void setOnItemClickListener(ProRecycleViewAdapter.OnItemClickListener listener) {
this.mOnItemClickListener=listener;
} public void setItemClickColor(int num){
this.num=num;
} }
2.
package com.multak.cookaraclient.fragment; import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.TextView; import com.multak.cookaraclient.R;
import com.multak.cookaraclient.adapter.ProRecycleViewAdapter;
import com.multak.cookaraclient.info.MusicInfo;
import com.multak.cookaraclient.info.ToastUtils; import java.util.ArrayList;
import java.util.List; /**
* A simple {@link Fragment} subclass.
*/
public class ProFragment extends Fragment { private static final String TAG = "ProFragment";
View view;
RecyclerView recyclerView;
ProRecycleViewAdapter proRecycleAdapter;
List<MusicInfo>data=new ArrayList<>();
public ProFragment() {
// Required empty public constructor
} @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
view=inflater.inflate(R.layout.fragment_pro, container, false);
recyclerView= (RecyclerView) view.findViewById(R.id.recycleView_Pro);
recyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER);
final Context context=getActivity();
addMusicInfo();
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(context);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(linearLayoutManager);
proRecycleAdapter=new ProRecycleViewAdapter(data,context);
recyclerView.setAdapter(proRecycleAdapter);
proRecycleAdapter.setOnItemClickListener(new ProRecycleViewAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) { ToastUtils.showtoast(getActivity(),""+position);
Log.d(TAG, "onBindViewHolder: TOAST: "+position);
proRecycleAdapter.setItemClickColor(position);
proRecycleAdapter.notifyDataSetChanged();
}
});
return view;
} public void addMusicInfo(){
data.add(new MusicInfo("我知道","阎韦伶"));
data.add(new MusicInfo("千里之外","周杰伦"));
data.add(new MusicInfo("同桌的你","老狼"));
data.add(new MusicInfo("我知道","阎韦伶"));
data.add(new MusicInfo("千里之外","周杰伦"));
data.add(new MusicInfo("同桌的你","老狼"));
data.add(new MusicInfo("我知道","阎韦伶"));
data.add(new MusicInfo("千里之外","周杰伦"));
data.add(new MusicInfo("同桌的你","老狼"));
data.add(new MusicInfo("我知道","阎韦伶"));
data.add(new MusicInfo("千里之外","周杰伦"));
data.add(new MusicInfo("同桌的你","老狼"));
data.add(new MusicInfo("我知道","阎韦伶"));
data.add(new MusicInfo("千里之外","周杰伦"));
data.add(new MusicInfo("同桌的你","老狼"));
data.add(new MusicInfo("我知道","阎韦伶"));
data.add(new MusicInfo("千里之外","周杰伦"));
data.add(new MusicInfo("同桌的你","老狼")); } public void selectOperate(final int posi,View view){ View contentView = LayoutInflater.from(getActivity()).inflate(R.layout.popup_song, null);
final PopupWindow popupWindow = new PopupWindow(contentView,600, LinearLayout.LayoutParams.WRAP_CONTENT, true);
WindowManager manager = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE);
TextView textView_xiai= (TextView) contentView.findViewById(R.id.textView_xiai);
TextView textView_yuyue= (TextView) contentView.findViewById(R.id.textView_yuyue);
TextView textView_zhiding= (TextView) contentView.findViewById(R.id.textView_zhiding);
TextView textView_bofang= (TextView) contentView.findViewById(R.id.textView_bofang);
textView_xiai.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ToastUtils.showtoast(getActivity(),"喜爱操作");
popupWindow.dismiss();
}
});
textView_yuyue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ToastUtils.showtoast(getActivity(),"预约操作");
popupWindow.dismiss();
}
});
textView_zhiding.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ToastUtils.showtoast(getActivity(),"置顶操作");
popupWindow.dismiss();
}
});
textView_bofang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ToastUtils.showtoast(getActivity(),"播放操作");
popupWindow.dismiss();
}
});
int popupWidth = view.getMeasuredWidth();
int popupHeight = view.getMeasuredHeight();
int[] location = new int[2];
view.getLocationOnScreen(location);
int x = location[0];
int y = location[1]; Log.d(TAG, "selectOperate: 坐标:"+x+"&&"+y);
popupWindow.setTouchable(true);
popupWindow.setBackgroundDrawable(new BitmapDrawable());
popupWindow.setOutsideTouchable(true);
popupWindow.showAtLocation(view, Gravity.TOP|Gravity.LEFT, x+200, y+140);
popupWindow.showAsDropDown(view);
view.setAlpha(1f);
}
}
3.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="80dp">
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:textSize="@dimen/songnumbersize"
android:gravity="center"
android:textColor="@color/colorSingerName"
android:id="@+id/textView_no"/>
<LinearLayout
android:layout_marginLeft="@dimen/imagemagintext"
android:layout_height="50dp"
android:layout_width="0dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/textView_SongName"
android:layout_width="match_parent"
android:layout_height="30dp"
android:paddingTop="5dp"
android:gravity="center_vertical"
android:textColor="@color/colorSongName"
android:textSize="@dimen/songnamesize"/>
<TextView
android:id="@+id/textView_SongSinger"
android:layout_width="match_parent"
android:layout_height="20dp"
android:gravity="center_vertical"
android:textColor="@color/colorSongName"
android:textSize="@dimen/songsingersize"/>
</LinearLayout>
</LinearLayout>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.multak.cookaraclient.fragment.ProFragment"> <!-- TODO: Update blank fragment layout -->
<android.support.v7.widget.RecyclerView
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/recycleView_Pro"
android:textSize="23sp"
android:text="this is a ProFragment" /> </FrameLayout>
错误在于:在if()加入else{} 对item未选中做恢复操作。
<错误>的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- Java入门第一季——从此投身Java??
找工作告一段落. 最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~ Java开发第一季 一.简 ...
- 2017/01/07 学习笔记 jar包,maven
① 关于tar,jar,war文件 tar是通用的另一种打包格式,为了部署到服务器时方便. jar是java app server识别的java部署格式,其实是Zip文件,只是内部的文件有规范. wa ...
- Sublime + Chrome 本地调试 CSS 选择器
生成简单的 HTML 代码 使用MacDown写 Markdown,快捷键ALT+CMD+C拷贝成 HTML 代码 粘贴到 Sublime 中,加上 body 标签和 css 头 html <h ...
- Vue双向绑定
vue的双向数据绑定的原理相信大家都十分了解:主要是通过ES5的Object对象的defineProperty属性:重写data的set和get函数来实现的. 该方法允许精确的添加或者修改对象的属性: ...
- maven中tomcat7:run无法启动maven项目
这几天在学习ssm相关整合,在使用maven时,发现了一些问题,就是明明按代码都差不多就是没法运行 这个是maven主项目的pom.xml的配置,我解决的方法是添加 <maven.compile ...
- NGUI学习随笔
一.NGUI的直接用法 1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加.(注:用Component添加无效). 2. ...
- GDI 设备环境句柄(2)
WM_PAINT 消息的触发 Windows 程序在以下情况会触发WM_PAINT消息: 窗口被移动导致被遮盖部分暴露出来 用户调整窗口的大小(当窗口类的 style 字段被设置为 CS_HREDRA ...
- laravel 运行migrate报错 1071 Specified key was too long
转自:https://segmentfault.com/a/1190000008416200 laravel运行命令migrate时报错: 1071 Specified key was too lo ...
- PHP 使用 Kafka 安装拾遗
最近项目开发中需要使用 Kafka 消息队列.经过检索,PHP下面有通用的两种方式来调用 Kafka . php-rdkafka 扩展 以 PHP 扩展的形式进行使用是非常高效的.另外,该项目也提供了 ...
- 【CodeForces 987C】Three displays
[链接] 我是链接,点我呀:) [题意] [题解] 动态规划 设dp[i][j]表示前i个数字,选了j个的最小花费. dp[i][j] = min(dp[k][j-1]+b[i]);//其中a[i]& ...