gpt4 book ai didi

java - 如何使用 onclick()、使用按钮更改 TextView 的文本颜色?

转载 作者:行者123 更新时间:2023-12-01 13:50:18 24 4
gpt4 key购买 nike

已回答

我想要做的是使用 onClick() 更改按钮按下时 TextView 的文本颜色。在我的布局文件中,有 1 个 TextView 和 2 个带有 android:onClick="onClick"属性的按钮。

这是我的代码:

<小时/>
package ic.lunar.tictactoefree;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.view.Menu;
import android.widget.Button;
import android.widget.TextView;

public class SettingsActivity extends Activity {

TextView tv1;

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

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.settings, menu);
return true;
}

public void onClick(Button b){
tv1 = (TextView)findViewById(R.id.hello);
if(b.getId()==R.id.grey){
tv1.setTextColor(Color.RED);
}
if(b.getId()==R.id.white){
tv1.setTextColor(Color.BLUE);
}
}
}
<小时/>

现在,每当我单击这两个按钮中的任何一个时,应用程序就会强制关闭。需要做什么才能让它发挥作用。我想根据按下的按钮改变颜色。

最佳答案

更改为

public void onClick(View v){ // method signature

假设settings.xml中有按钮

android:onClick="onClick"  // for buttons in xml

在onCreate中初始化

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);
tv1 = (TextView)findViewById(R.id.hello);
}

还有

public void onClick(View v){
switch(v.getId())
{
case R.id.grey:
tv1.setTextColor(Color.RED);
break;
case R.id.white:
tv1.setTextColor(Color.BLUE);
break;
}

}

关于java - 如何使用 onclick()、使用按钮更改 TextView 的文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20016458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com