Java 如何在android中更新TextView
我正在使用RecycleView,并希望在每次插入textview之后,使用sqlite db中我的表的行数更新它。但这对我不起作用 这是我的主要活动Java 如何在android中更新TextView,java,android,Java,Android,我正在使用RecycleView,并希望在每次插入textview之后,使用sqlite db中我的表的行数更新它。但这对我不起作用 这是我的主要活动 @BindView(R.id.materialViewPager) MaterialViewPager mViewPager; Calendar cal = Calendar.getInstance(); String t[]; final Timer timer = new Timer(); private int nbrr,nbbc; pri
@BindView(R.id.materialViewPager)
MaterialViewPager mViewPager;
Calendar cal = Calendar.getInstance();
String t[];
final Timer timer = new Timer();
private int nbrr,nbbc;
private int a;
int dayOfWeek;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("");
ButterKnife.bind(this);
final Context cnx=this;
Dispposition dispposition =new Dispposition(this);
dispposition.execute("");
RetreiveUser user = new RetreiveUser(this);
user.execute("");
final ReservationSource data =new ReservationSource(cnx);
data.open();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Intent serviceIntent = new Intent(cnx, ReservationService.class);
startService(serviceIntent);
final ReservationSource data =new ReservationSource(cnx);
data.open();
a= data.CountNumConfirmation();
Log.v("NBR", String.valueOf(a));
}}, 0, 5000);
final Toolbar toolbar = mViewPager.getToolbar();
if (toolbar != null) {
setSupportActionBar(toolbar);
}
mViewPager.getViewPager().setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
Date d = new Date();
long today =d.getTime();
long yesterday=d.getTime()-(24*60*60*1000);
long tommorow =d.getTime()+(24*60*60*1000);
Date date=null;
int nbr_res=0,nbr_con=0;
switch (position % 3) {
case 0:
try {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
formatter.setLenient(false);
String yesterdayString = formatter.format(new Date(yesterday));
dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
if(dayOfWeek==1)
dayOfWeek=7;
else dayOfWeek--;
date = formatter.parse(yesterdayString);
t =retrieve(yesterdayString);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
return RecyclerViewFragment.newInstance(DayByWeek(dayOfWeek), Month(Integer.parseInt(t[1])) + " " + t[0], Integer.parseInt(t[2]), a, 1);
case 1:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
formatter.setLenient(false);
String todayString = formatter.format(new Date(today));
date =new Date();
dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
t =retrieve(todayString);
return RecyclerViewFragment.newInstance(DayByWeek(dayOfWeek),Month(Integer.parseInt(t[1]))+" "+t[0],Integer.parseInt(t[2]),1,1);
case 2:
try {
formatter = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
formatter.setLenient(false);
String tommorowString = formatter.format(new Date(tommorow));
date = formatter.parse(tommorowString);
dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
if(dayOfWeek==7)
dayOfWeek=1;
else dayOfWeek++;
t =retrieve(tommorowString);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
return RecyclerViewFragment.newInstance(DayByWeek(dayOfWeek),Month(Integer.parseInt(t[1]))+" "+t[0],Integer.parseInt(t[2]),1,1);
default:
return RecyclerViewFragment.newInstance("","",0,0,0);
}
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position % 3) {
case 0:
return "Hier";
case 1:
return "Aujourd'hui";
case 2:
return "Demain";
}
return "";
}
});
mViewPager.setMaterialViewPagerListener(new MaterialViewPager.Listener() {
@Override
public HeaderDesign getHeaderDesign(int page) {
switch (page) {
case 0:
return HeaderDesign.fromColorAndDrawable(
getResources().getColor(R.color.green),
ContextCompat.getDrawable(cnx, R.drawable.food));
case 1:
return HeaderDesign.fromColorResAndDrawable(
R.color.blue,
ContextCompat.getDrawable(cnx, R.drawable.piscine));
case 2:
return HeaderDesign.fromColorResAndDrawable(
R.color.cyan,
ContextCompat.getDrawable(cnx, R.drawable.paillote));
}
//execute others actions if needed (ex : modify your header logo)
return null;
}
});
mViewPager.getViewPager().setOffscreenPageLimit(mViewPager.getViewPager().getAdapter().getCount());
mViewPager.getPagerTitleStrip().setViewPager(mViewPager.getViewPager());
final View logo = findViewById(R.id.logo_white);
if (logo != null) {
logo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mViewPager.notifyHeaderChanged();
Toast.makeText(getApplicationContext(), "Yes, the title is clickable", Toast.LENGTH_SHORT).show();
}
});
}
}
public String DayByWeek(int jour)
{
switch (jour)
{
case 1: return "DIM";
case 2: return"LUN";
case 3: return"MAR";
case 4: return"MER";
case 5: return"JEU";
case 6: return"VEN";
case 7: return"SAM";
default:return "";
}
}
public String Month(int mois)
{
switch (mois)
{
case 6: return "Juin";
case 7: return"Juillet";
case 8: return"Aout";
case 9: return"Septembere";
default:return "";
}
}
public String [] retrieve(String date)
{
String [] tab = date.split("-");
return tab;
}
}
这是我的回溯片段
RecyclerViewFragment fragment = new RecyclerViewFragment();
Bundle args = new Bundle();
args.putString("SEMAINE", semaine);
args.putInt("JOUR", jour);
args.putString("MOIS", mois);
args.putInt("Reserve",nbr_res);
args.putInt("Confirme",nbr_con);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
semaine = getArguments().getString("SEMAINE");
jour = getArguments().getInt("JOUR");
mois = getArguments().getString("MOIS");
nbr_res=getArguments().getInt("Reserve");
nbr_con=getArguments().getInt("Confirme");
}
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_recyclerview, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ButterKnife.bind(this, view);
final List<DataObject> items = new ArrayList<>();
final List<DateObject> item = new ArrayList<>();
String [] pieces = {"Parasol","Salon","Piscine","Resto","Snack","Paillote"};
String nbrr=String.valueOf(nbr_res);
if (nbrr.length()==1)
nbrr="0"+nbrr;
String nbrc=String.valueOf(nbr_con);
if (nbrc.length()==1)
nbrc="0"+nbrc;
for (int i = 0; i <ITEM_COUNT; ++i) {
DataObject obj = new DataObject("28",
nbrc,nbrr,pieces[i]);
items.add(i, obj);
}
for (int i = 0; i < 1; ++i) {
DateObject obj = new DateObject(jour,
semaine,mois);
item.add(i, obj);
}
//setup materialviewpager
if (GRID_LAYOUT) {
mRecyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
} else {
mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
}
mRecyclerView.setHasFixedSize(true);
//Use this now
mRecyclerView.addItemDecoration(new MaterialViewPagerHeaderDecorator());
mRecyclerView.setAdapter(new TestRecyclerViewAdapter(items,item));
// mRecyclerView.setAdapter(new MySecondRecyclerViewAdapter((ArrayList<DateObject>) item));
}
}
RecycleServicewFragment片段=新的RecycleServicewFragment();
Bundle args=新Bundle();
args.putString(“SEMAINE”,SEMAINE);
参数putin(“JOUR”,JOUR);
参数putString(“MOIS”,MOIS);
参数putInt(“储备”,nbr_res);
参数putInt(“确认”,nbr_con);
fragment.setArguments(args);
返回片段;
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
如果(getArguments()!=null){
semaine=getArguments().getString(“semaine”);
jour=getArguments().getInt(“jour”);
mois=getArguments().getString(“mois”);
nbr_res=getArguments().getInt(“保留”);
nbr_con=getArguments().getInt(“确认”);
}
}
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
返回充气机。充气(R.layout.fragment\u recyclerview,container,false);
}
@凌驾
已创建视图上的公共void(视图,@Nullable Bundle savedInstanceState){
super.onViewCreated(视图,savedInstanceState);
ButterKnife.bind(这个,视图);
最终列表项=新的ArrayList();
最终列表项=新的ArrayList();
串[]件={“阳伞”、“沙龙”、“鱼”、“Resto”、“零食”、“白兰地”};
字符串nbr=字符串的值(nbr_res);
如果(nbrr.length()=1)
nbrr=“0”+nbrr;
字符串nbrc=String.valueOf(nbr_con);
如果(nbrc.length()=1)
nbrc=“0”+nbrc;
对于(int i=0;i),只显示不起作用的位比显示整个代码文件更容易。要更新哪个textView?我要在我的RecycleView适配器中更新“holder.nbr_res.setText(mDataset.get(position).getNbr_res());”
List<DataObject> mDataset;
List<DateObject> mDateset;
static final int TYPE_HEADER = 0;
static final int TYPE_CELL = 1;
public TestRecyclerViewAdapter(List<DataObject> mDataset,List<DateObject> mDateset) {
this.mDataset = mDataset;
this.mDateset = mDateset;
}
@Override
public int getItemViewType(int position) {
switch (position) {
case 0:
return TYPE_HEADER;
default:
return TYPE_CELL;
}
}
@Override
public int getItemCount() {
return mDataset.size();
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = null;
switch (viewType) {
case TYPE_HEADER: {
view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_item_card_big, parent, false);
final SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
formatter.setLenient(false);
Button next = (Button) view.findViewById(R.id.next);
Button previous = (Button) view.findViewById(R.id.previous);
final TextView mois= (TextView) view.findViewById(R.id.mois);
final CalendarView cal = (CalendarView) view.findViewById(R.id.calendrier);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(mois.getText()=="Juin")
{
mois.setText("Juillet");
String oldTime = "01.07.2017, 00:00";
Date oldDate = null;
try {
oldDate = formatter.parse(oldTime);
} catch (ParseException e) {
e.printStackTrace();
}
long oldMillis = oldDate.getTime();
cal.setDate(oldMillis);
}
else if(mois.getText()=="Juillet")
{
mois.setText("Aout");
String oldTime = "01.08.2017, 00:00";
Date oldDate = null;
try {
oldDate = formatter.parse(oldTime);
} catch (ParseException e) {
e.printStackTrace();
}
long oldMillis = oldDate.getTime();
cal.setDate(oldMillis);
}
else
{
mois.setText("Juin");
String oldTime = "25.06.2017, 00:00";
Date oldDate = null;
try {
oldDate = formatter.parse(oldTime);
} catch (ParseException e) {
e.printStackTrace();
}
long oldMillis = oldDate.getTime();
cal.setDate(oldMillis);
}
}
});
previous.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(mois.getText()=="Aout")
{
mois.setText("Juillet");
String oldTime = "01.07.2017, 00:00";
Date oldDate = null;
try {
oldDate = formatter.parse(oldTime);
} catch (ParseException e) {
e.printStackTrace();
}
long oldMillis = oldDate.getTime();
cal.setDate(oldMillis);
}
else if(mois.getText()=="Juillet")
{
mois.setText("Juin");
String oldTime = "25.06.2017, 00:00";
Date oldDate = null;
try {
oldDate = formatter.parse(oldTime);
} catch (ParseException e) {
e.printStackTrace();
}
long oldMillis = oldDate.getTime();
cal.setDate(oldMillis);
}
else
{
mois.setText("Aout");
String oldTime = "01.08.2017, 00:00";
Date oldDate = null;
try {
oldDate = formatter.parse(oldTime);
} catch (ParseException e) {
e.printStackTrace();
}
long oldMillis = oldDate.getTime();
cal.setDate(oldMillis);
}
}
});
return new ViewHolder(view) {
};
}
case TYPE_CELL: {
view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_item_card_small, parent, false);
return new ViewHolder(view) {
};
}
}
return null;
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
switch (getItemViewType(position)) {
case TYPE_HEADER:
holder.j.setText(String.valueOf(mDateset.get(position).getJour()));
holder.js.setText(mDateset.get(position).getSemaine());
holder.ma.setText(mDateset.get(position).getMois());
break;
case TYPE_CELL:
holder.piece.setText(mDataset.get(position).getPiece());
holder.nbr_conf.setText(mDataset.get(position).getNbr_Conf());
holder.nbr_res.setText(mDataset.get(position).getNbr_res());
holder.nbr_res.setText(mDataset.get(position).getNbr_res());
holder.nbr_dispo.setText(mDataset.get(position).getNbr_dispo());
break;
}
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView piece;
TextView nbr_dispo;
TextView nbr_res;
TextView nbr_conf;
TextView j;
TextView js;
TextView ma;
public ViewHolder(View view)
{
super(view);
piece = (TextView) view.findViewById(R.id.piece);
nbr_conf = (TextView) view.findViewById(R.id.nbr_confirme);
nbr_res = (TextView) view.findViewById(R.id.nbr_reserve);
nbr_dispo = (TextView) view.findViewById(R.id.nbr_disponible);
j = (TextView) itemView.findViewById(R.id.jour);
js = (TextView) itemView.findViewById(R.id.jour_semaine);
ma= (TextView) itemView.findViewById(R.id.mois_annee);
Log.i("TAG", "Adding Listener");
}
}
}