如何在android中更改textview的文本

时间:2011-10-07 06:50:38

标签: android button textview

您好我正在制作显示报价的简单报价应用程序。 我在sqlite数据库中有引号。我有两个按钮“下一个”和“上一个” 当用户点击下一个时,下一个引号应该显示,并且当点击之前的前一个引号应该显示。数据库工作正常,但我坚持如何更改textView的文本。我尝试了一些东西,但他们没有正常工作。 有任何建议或帮助吗? 引用如笑话,谚语等。

4 个答案:

答案 0 :(得分:1)

首先获取所有引号并存储到Arraylist或任何等效对象现在使用一个计数器对象,它将跟踪当前位置并使用0初始化它,如果你得到的报价大于等于1

现在在下一个按钮上检查第一个计数器值是否等于arraylist大小然后什么都不做,否则增加1并从arraylist获得下一个引用

if(counter==-1)
    return;

if(counter==array.size()-1)
   return

counter++;
yourtextview.setText(array.get(counter));

在此计数器中执行相同的操作 - 而不是使用计数器++

编辑 没有arraylist对象和反对象

使用moveNext()和movePrevious()检查光标,如下一次检查

   if(cursor.moveNext())
       yourtextview.setText(coursor.getString(yourcolumnindex));

以及之前的

   if(cursor.movePrevious())
       yourtextview.setText(coursor.getString(yourcolumnindex));

答案 1 :(得分:0)

查看http://developer.android.com/reference/android/widget/TextView.html

在按钮上使用onClickListeners。当用户按下按钮时,您从数据库中获取相应的文本并显示它,例如使用setText(CharSequence text)

答案 2 :(得分:0)

要更改textview文本:

textview.setText("your text");

如果您在更改文字时遇到任何例外,请尝试在handler的帮助下进行此操作。

答案 3 :(得分:0)

我认为这是有效的,但是当我点击下一步时,前面的文字不会消失。该怎么办?

           public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    tv=(TextView)findViewById(R.id.text);
    next=(Button)findViewById(R.id.next);
    back=(Button)findViewById(R.id.back);
 next.setOnClickListener(this);
 back.setOnClickListener(this);

    try {
        db=new DbH(this);
    } catch (IOException e2) {

        e2.printStackTrace();
    }


        try {
            db.createdatabase();
        } catch (IOException e) {

            e.printStackTrace();
        }

    db.opendatabase();
     cur=db.data();
     cur.moveToFirst();


 //int i=0;

    tv.append(cur.getString(1));

 cur.moveToNext();

// cur.close();

} @覆盖 public void onClick(查看v){

switch(R.id.next)
{
case R.id.next :
    cur.moveToNext();
    tv.append(""+cur.getString(1));
break;
case R.id.back:
{
    cur.moveToPrevious();
    tv.append(""+cur.getString(1));
    break;
}

}