如何在android中永久更改点击文本颜色
我想知道,当我点击文本时,如何更改默认文本颜色?它将默认颜色设置为蓝色,而我没有点击的文本将显示为黑色 此外,当我重新打开我的应用程序时,它将显示单击文本蓝色和未单击文本黑色 我已经添加了文本蓝色,但当我重新打开应用程序时,它会按原样重置 所以请告诉我怎么做 文件名:RecycleServiceWater.java如何在android中永久更改点击文本颜色,android,Android,我想知道,当我点击文本时,如何更改默认文本颜色?它将默认颜色设置为蓝色,而我没有点击的文本将显示为黑色 此外,当我重新打开我的应用程序时,它将显示单击文本蓝色和未单击文本黑色 我已经添加了文本蓝色,但当我重新打开应用程序时,它会按原样重置 所以请告诉我怎么做 文件名:RecycleServiceWater.java package com.ejobbox.ejobbox; 导入android.app.Activity; 导入android.content.Context; 导入android.c
package com.ejobbox.ejobbox;
导入android.app.Activity;
导入android.content.Context;
导入android.content.Intent;
导入android.graphics.Color;
导入android.support.v7.widget.LinearLayoutManager;
导入android.support.v7.widget.RecyclerView;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ImageView;
导入android.widget.ProgressBar;
导入android.widget.TextView;
导入java.util.ArrayList;
公共类RecycleServiceAdapter扩展了RecyclerView.Adapter{
私有最终整数视图\类型\项=0;
私有最终内部视图类型加载=1;
私有OnLoadMoreListener OnLoadMoreListener;
私有布尔孤岛加载;
私人活动;
私有ArrayList数据集;
私有上下文;
私有int visibleThreshold=5;
private int lastVisibleItem,totalItemCount;
公共RecycleWebAdapter(RecycleView RecycleView、ArrayList mlist、上下文){
this.dataset=mlist;
this.mContext=上下文;
这个。活动=活动;
最终LinearLayoutManager LinearLayoutManager=(LinearLayoutManager)recyclerView.getLayoutManager();
recyclerView.addOnScrollListener(新的recyclerView.OnScrollListener(){
@凌驾
已填空的公共空间(RecyclerView RecyclerView、int dx、int dy){
super.onScrolled(recyclerView、dx、dy);
totalItemCount=linearLayoutManager.getItemCount();
lastVisibleItem=linearLayoutManager.findLastVisibleItemPosition();
如果(!isLoading&&totalItemCount,您可以查看android为应用程序开发提供的SharedReferences。它允许您存储/编辑关于您的应用程序的数据,并为用户保留这些数据。下面是一个链接,指向以前曾帮助过我的教程:
您需要将已单击的文本存储在某个位置,并在重新启动时相应地初始化颜色。我建议使用一些持久性存储来启动已单击的文本,并在打开时检查该存储。但不确定哪种数据存储最适合您的情况。如果响应来自服务器端,您可以保留字段作为检查选中项目的响应,或者如果它是本地和静态的,那么您可以使用来保存单击项目的位置,然后在设置文本颜色之前检索它。您可以使用共享首选项,但如果您没有大量要更改颜色的文本,那么这不是一种好方法。另一种方法是您可以使用SQLite那么请告诉我如何临时存储它。
package com.ejobbox.ejobbox;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import java.util.ArrayList;
public class RecyclerViewAdapter extends RecyclerView.Adapter{
private final int VIEW_TYPE_ITEM = 0;
private final int VIEW_TYPE_LOADING = 1;
private OnLoadMoreListener onLoadMoreListener;
private boolean isLoading;
private Activity activity;
private ArrayList<Model> dataset;
private Context mContext;
private int visibleThreshold = 5;
private int lastVisibleItem, totalItemCount;
public RecyclerViewAdapter(RecyclerView recyclerView, ArrayList<Model> mlist, Context context) {
this.dataset=mlist;
this.mContext=context;
this.activity=activity;
final LinearLayoutManager linearLayoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
totalItemCount = linearLayoutManager.getItemCount();
lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition();
if (!isLoading && totalItemCount <= (lastVisibleItem + visibleThreshold)) {
if (onLoadMoreListener != null) {
onLoadMoreListener.onLoadMore();
}
isLoading = true;
}
}
});
}
public void setOnLoadMoreListener(OnLoadMoreListener mOnLoadMoreListener) {
this.onLoadMoreListener = mOnLoadMoreListener;
}
@Override
public int getItemViewType(int position) {
return dataset.get(position) == null ? VIEW_TYPE_LOADING : VIEW_TYPE_ITEM;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (viewType == VIEW_TYPE_ITEM) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.postdetails,parent,false);
return new ImageTypeViewHolder(view);
} else if (viewType == VIEW_TYPE_LOADING) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.itemload,parent,false);
return new LoadingViewHolder(view);
}
return null;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
if (holder instanceof ImageTypeViewHolder) {
final Model object=dataset.get(position);
final ImageTypeViewHolder imageTypeViewHolder=(ImageTypeViewHolder) holder;
imageTypeViewHolder.title.setText(object.title);
imageTypeViewHolder.subtitle.setText(object.subtitle);
imageTypeViewHolder.link.setText(object.link);
imageTypeViewHolder.date.setText(object.date);
// Set On Click Listner
imageTypeViewHolder.title.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
imageTypeViewHolder.title.setTextColor(Color.BLUE);
Intent intent=new Intent(mContext, WPPostDetails.class);
intent.putExtra("itemPosition",position);
intent.putExtra("link",object.link);
mContext.startActivity(intent);
}
});
} else if (holder instanceof LoadingViewHolder) {
LoadingViewHolder loadingViewHolder = (LoadingViewHolder) holder;
loadingViewHolder.progressBar.setIndeterminate(true);
}
}
public static class ImageTypeViewHolder extends RecyclerView.ViewHolder{
TextView title,subtitle,link,date;
ImageView imageView;
public ImageTypeViewHolder(View itemView){
super(itemView);
this.title=(TextView)itemView.findViewById(R.id.title);
this.link=(TextView)itemView.findViewById(R.id.link);
this.subtitle=(TextView) itemView.findViewById(R.id.subtitle);
this.imageView=(ImageView) itemView.findViewById(R.id.icon);
this.date=(TextView)itemView.findViewById(R.id.date);
}
}
@Override
public int getItemCount() {
return dataset == null ? 0 : dataset.size();
}
public void setLoaded() {
isLoading = false;
}
private class LoadingViewHolder extends RecyclerView.ViewHolder {
public ProgressBar progressBar;
public LoadingViewHolder(View view) {
super(view);
progressBar = (ProgressBar) view.findViewById(R.id.progressBar1);
}
}
}