如何在文本视图中设置按钮设置文本onclick数据

时间:2012-10-16 10:37:45

标签: android android-layout android-button

这是一个简单的问题..但我没有得到输出。描述:在我的活动中我有3个按钮A,B,C。在同一活动中我也有1个textview {textViewPatientType}。当我点击按钮(A)时,它必须将textview(textViewPatientType)中的文本设置为A.当我点击按钮(B)时,它必须将textview(textViewPatientType)中的文本设置为B.

我的活动以这种方式显示

     -------------------------------------------------
     buton1-->onclick A|     textview(A)
     buton2            |
     buton3            |
     -------------------------------------------------

我尝试以这种方式做,但它充当敬酒..当onclick(A)它成为和消失.. 所以请帮助我..先谢谢你。

这是我的代码。

      button1 = (Button) findViewById(R.id.button1);
      button2 = (Button) findViewById(R.id.button2);
      button3 = (Button) findViewById(R.id.button3);
    textViewPatientType = (TextView) findViewById(R.id.textViewPatientType);

    buttonInPatient.setOnClickListener(new OnClickListener() {          

        @Override
        public void onClick(View view) {


            try {   
                **textViewPatientType.setText("InPatient");**
  ServiceManager.callPatientService(WorkListView.this, "IP", user, pd);

            } catch (Exception e) {
                e.printStackTrace();
            }
            Toast.makeText(WorkListView.this, getResources().getString(R.string.inPatient), Toast.LENGTH_SHORT).show();
        }
    });

3 个答案:

答案 0 :(得分:0)

试试这段代码

Button button1 = (Button) findViewById(R.id.button1);
TextView textViewPatientType = (TextView) findViewById(R.id.textViewPatientType);
button1.setOnClickListener(new OnClickListener() {
    public void onClick(View arg0) {
        textViewPatientType.settext("MyText");
    }
});

答案 1 :(得分:0)

您可以将按钮文本设为

ServiceManager.callPatientService(WorkListView.this, "IP", user, pd);

尝试评论此行并查看文本是否保持不变,可能是您再次设置,否则看起来不错

答案 2 :(得分:0)

使用以下代码替换您的点击代码

public void onClick(View view) {


        try {   
            textViewPatientType.setText("InPatient");
  ServiceManager.callPatientService(WorkListView.this, "IP", user, pd);

        } catch (Exception e) {
            e.printStackTrace();
        }

    }