2017-03-28 34 views
-6

我是Android编程的新手,我想使用像这样的方法为TextView设置文本。如何从字符串设置TextView的文本

textView.setText(freezed_string); 

freezed_string名是固定的,我想改变它的值当点击不同的四个按钮。

Button1的被点击时,的freezed_string变化值成一个

当点击Button2的freezed_string成两个的变化值。

按钮3被点击,更改值为freezed_string为三。

按钮4被点击,更改值为freezed_string为四。

希望你明白我的想法,请指出解决方案对我和它的高度赞赏!

+1

您的问题还不够清楚,请阅读以下问题:[问]&[mcve]&[help/on-topic],以增加您获得问题答案的机会! –

+0

添加你的java和xml文件或者你试过的任何东西。它不是做网站的作业。 –

+0

难道你不能只是添加一个'OnClickListener'到每个按钮来设置'TextView'文本的数字。 – JediBurrell

回答

1

做这样的事情

String freezed_string_value = "one"; 

Button2 = (Button)findViewById(R.id.Button2); 
Button2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       freezed_string_value = "two" 
      } 
     }); 

,要所有按钮和数值

+0

以上答案是正确的,但我们必须在freezed_string_value =“two”下添加一行,并且将该字符串设置为TextView的文本以更新文本。像这样: tx.setText(freezed_string_value); –

2

您创建了一个String freezedString = "<some default value>";并将TextView设置为已显示的那个字符串。 当按钮被按下变化freezedString到任何你想要的值落实View.onClickListener界面为你的活动(每个按钮。

这可以在计算器上轻松地抬起头来。我会建议使用本网站作为一种资源。

CHECK IT OUT

0

正如你哗哗 注意在XML

android:id="@+id/one_button" 
    android:onClick="click" 

,你会发现在https://developer.android.com/reference/android/widget/Button.html

答案请尝试以下操作:

main_activity.xml

<Button 
    android:id="@+id/one_button" 
    android:onClick="click" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button1" /> 

<Button 
    android:id="@+id/two_button" 
    android:onClick="click" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button2" /> 

<Button 
    android:id="@+id/three_button" 
    android:onClick="click" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button3" /> 

<Button 
    android:id="@+id/four_button" 
    android:onClick="click" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button4" /> 
<TextView 
    android:id="@+id/show_text" 
    android:layout_gravity="center" 
    android:textSize="50dp" 
    android:text="DEMO" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 
MainActivity

。java的

public class MainActivity extends AppCompatActivity { 

private TextView mShowText; 
private String freezed_string; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    initView(); 

} 

private void initView() { 
    mShowText = (TextView) findViewById(R.id.show_text); 
} 


public void click(View view) { 
    switch (view.getId()) { 
     case R.id.one_button: 
      freezed_string = "one"; 
      mShowText.setText(freezed_string); 
      break; 
     case R.id.two_button: 
      freezed_string = "two"; 
      mShowText.setText(freezed_string); 
      break; 
     case R.id.three_button: 
      freezed_string = "three"; 
      mShowText.setText(freezed_string); 
      break; 
     case R.id.four_button: 
      freezed_string = "four"; 
      mShowText.setText(freezed_string); 
      break; 

    } 
} 

}如果你想直接将该值设置为你的TextView 然后键入textView.setText("two");代替freezed_string_value = "two"

重复

+0

以上答案是正确的,并包含所有必需的信息! –

相关问题