【发布时间】:2013-11-11 06:49:56
【问题描述】:
您好,我使用 TableLyout 显示来自我的数据库 (baza_kosztorys) 的数据,我在 tablerow (wiersz) 中包含三列 (kosztorys_id、kosztorys_nazwa、inwestor) 的日期,我还添加了按钮 (przycisk),我将 kosztorys_id 作为 setText。稍后我可以在单击按钮时从按钮获取文本(效果很好),但我想在不使用按钮的情况下单击 tablerow 并从 edittext 获取文本。
这是一个问题,因为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();
}
【问题讨论】:
-
点击时将gettext放入wiersz?
-
是的,我正在尝试,但它不起作用。我不知道如何引用来自 wiersz.onClickListener() link 的编辑文本
标签: android sql gettext tablelayout tablerow