如何从tablerow中包含的edittext获取文本

时间:2013-11-10 22:17:00

标签: android sql gettext tablelayout tablerow

您好我使用TableLyout显示来自我的数据库(baza_kosztorys)的数据,我在tablerow(wiersz)中包含三列(kosztorys_id,kosztorys_nazwa,inwestor)的日期,我还添加了按钮(przycisk),我将kosztorys_id作为setText。后来当我点击它时我可以从按钮获取文本(它工作正常),但我想从edittext中删除tablerow和gettext,而不使用按钮。

这是一个问题,因为来自edittext的gettext(kosztorys_id)与按钮的工作方式不同,所以当我点击tablerow时,如何从edittext获取文本?

我的代码。

package com.kosztorys;

import android.app.Activity;

public class NowePomieszczenie extends Activity implements OnClickListener{
    String Timie, Tnazwisko, Tmail;
    SQLiteDatabase db;
    TextView textview1,textview2,textview3, textview4, textview5;
    Button przycisk;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.nowe_pomieszczenie);
        db=openOrCreateDatabase("baza_kosztorys", MODE_PRIVATE, null);
    }

public void pokazdane(View v)
  {

    final Cursor c=db.rawQuery("SELECT * from kosztorys", null);
    int count= c.getCount();
    c.moveToFirst();
    //definicja wygladu

    final TableLayout wyglad = new TableLayout(getApplicationContext());
    wyglad.setVerticalScrollBarEnabled(true);
    //definicja wiersza
    TableRow wiersz = new TableRow(getApplicationContext());

    //dodanie napisu id nad kolumna id
    TextView textview = new TextView(getApplicationContext());
    textview.setText("DOSTĘPNE KOSZTORYSY");
    textview.setTextColor(Color.BLUE);
    textview.setTypeface(null, Typeface.BOLD);
    textview.setPadding(20, 20, 20, 20);
    wiersz.addView(textview);

    wyglad.addView(wiersz);
       for(Integer j=0; j<count; j++)
         {
           wiersz = new TableRow(getApplicationContext());
           wiersz.setClickable(true);


          textview = new TextView(getApplicationContext());
              textview.setText(c.getString(c.getColumnIndex("kosztorys_id")));   
              textview2 = new TextView(getApplicationContext());
              textview2.setText(c.getString(c.getColumnIndex("kosztorys_nazwa")));
          textview3 = new TextView(getApplicationContext());
              textview3.setText(c.getString(c.getColumnIndex("inwestor")));


                  przycisk = new Button(getApplicationContext());
                  przycisk.setText(c.getString(c.getColumnIndex("kosztorys_id")));
                  wiersz.setTag(c.getString(c.getColumnIndex("kosztorys_id")));




         przycisk.setOnClickListener(new OnClickListener(){
             @Override
             public void onClick(View v) {
                //v.setBackgroundColor(Color.GRAY);    
                 Button przycisk = (Button)v;
                    String buttonText = przycisk.getText().toString();
                    setContentView(R.layout.nowe_pomieszczenie);
                //    String buttonText2 = c.getString(c.getColumnIndex("kosztorys_id"));
                 Toast.makeText(NowePomieszczenie.this, "wybrales kosztorys nr:"+buttonText, Toast.LENGTH_SHORT).show();
             }
         });

          wiersz.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
            v.setBackgroundColor(Color.GRAY);  

                }       
            });       
         //textview.setPadding(20, 20, 20, 20);
           textview2.setPadding(20, 20, 20, 20);
           textview3.setPadding(20, 20, 20, 20);
           przycisk.setPadding(20, 20, 20, 20);

           wiersz.addView(textview);
           wiersz.addView(textview2);
           wiersz.addView(textview3);
               wiersz.addView(przycisk);
           wyglad.addView(wiersz);

           c.moveToNext();
         }
         setContentView(wyglad);
         db.close();

  }

1 个答案:

答案 0 :(得分:0)

在您的活动的.xml文件夹中,您可以在使用android:onClick =“Pokazdane”点击行时调用您的方法。