Kullanıcı dialog ekranına rakam girecek daha sonra anasayfada bu rakam gözükecek aslında daha önce benzerini yaptım ama burda hata nerde bulamadım. Anasayfa için kullanılan kodlarda belirttiğim gibi edittext i sorusayisialtext e aktardım ama bunu ekrana yazdırdığım zaman ekran da hiçbir şey görünmüyor
Dialog kodları
public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.secenekler) { LayoutInflater layoutInflater=LayoutInflater.from(this); View layout=layoutInflater.inflate(R.layout.secenekler,null); final Button hedefvazgec= (Button) layout.findViewById(R.id.hedefvazgec); final Button hedefkayit= (Button) layout.findViewById(R.id.hedefkayit); final EditText hedefsoru= (EditText) layout.findViewById(R.id.hedefsoru); AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle("Seçenekler"); builder.setView(layout); final AlertDialog secenekdialog =builder.create(); secenekdialog.show(); hedefvazgec.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { secenekdialog.dismiss(); } }); hedefkayit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { hedefsoru.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { try { hedef_sorusayisi=Integer.valueOf(s.toString());
@Override public void afterTextChanged(Editable s) {
}
}); } });
Anasayfa için kullanılan kodlar
tablo.removeAllViews(); Veritabani db=new Veritabani(getApplicationContext()); List<Ogrenci> ogrenciList=new ArrayList<Ogrenci>(); ogrenciList=db.TumKayitlar(); TextView sorusayisialtext=new TextView(Cizelge.this); sorusayisialtext.setText(hedef_sorusayisi); // ortalama ve toplam soru sayısı burada kodlanacak long enkucuk=ogrenciList.get(ogrenciList.size()-1).getTarih(); long enbuyuk=ogrenciList.get(0).getTarih(); Date fark= new Date(enbuyuk-enkucuk);
int toplam_soru=0; for (Ogrenci ogrenci:ogrenciList){ toplam_soru=toplam_soru+ogrenci.getSoru();
} int ortalama_soru=toplam_soru/fark_gun; if (ortalama_soru>=100){
BURADA sorusayisialtext OLMADIĞI ZAMAN PROGRAM SORUNSUZ ÇALIŞIYOR, OLDUĞU ZAMAN İSE ANASAYFA BOŞ OLUYOR HİÇBİR YAZI GÖZÜKMÜYOR yazi.setText("Tebrikler! günlük"+ sorusayisialtext+ "soru hedefini aştınız.\n Günlük ortalama soru sayısı:"+ ortalama_soru +" \n Toplam çözülen soru sayısı:"+ toplam_soru); yazi.setTextColor(Color.WHITE); yazi.setBackgroundColor(Color.GREEN); } else { BURADA sorusayisialtext OLMADIĞI ZAMAN PROGRAM SORUNSUZ ÇALIŞIYOR, OLDUĞU ZAMAN İSE ANASAYFA BOŞ OLUYOR HİÇBİR YAZI GÖZÜKMÜYOR yazi.setText("Malesef günlük" + sorusayisialtext + " soru hedefini gerçekleştiremediniz.\n Günlük ortalama soru sayısı:"+ ortalama_soru +" \n Toplam çözülen soru sayısı:"+ toplam_soru); yazi.setTextColor(Color.WHITE); yazi.setBackgroundColor(Color.RED); }
//------------------------------------------------- for (Ogrenci ogrenci:ogrenciList){
TableRow satir= new TableRow(Cizelge.this); satir.setGravity(Gravity.CENTER);
TextView tarihyazi= new TextView(Cizelge.this); tarihyazi.setPadding(2,2,2,2); tarihyazi.setTextColor(Color.WHITE);
java.text.DateFormat df= new java.text.SimpleDateFormat("dd/MM/yyyy"); Date date= new Date(ogrenci.getTarih()); tarihyazi.setText(df.format(date)+" ");
TextView dersyazi= new TextView(Cizelge.this); dersyazi.setPadding(2,2,2,2); dersyazi.setTextColor(Color.WHITE); dersyazi.setText(ogrenci.getDers()+" ");
TextView soruyazi= new TextView(Cizelge.this); soruyazi.setPadding(2,2,2,2); soruyazi.setTextColor(Color.WHITE); soruyazi.setText(String.valueOf(ogrenci.getSoru()));
Dialog kodları
Anasayfa için kullanılan kodlar