大家好我现在正在使用TextView
中有很多引号的应用,我希望在按钮点击时更改TextView
的大小,就好像小按钮是点击,然后TextView
应该变小,如果单击大,它应该很大,等等。但每次我按下Button
应用程序强制关闭!有什么问题?这是OnClickListener
的{{1}}:
Button
P.S:small = (Button) findViewById(R.id.small);
small.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
TextView tv = (TextView)findViewById(R.id.quotes);
tv.setTextSize(20);
}
});
和TextView
位于不同的Button
。
答案 0 :(得分:2)
无法将TextView
的尺寸从Button
更改为其他Activity
中的Activity
。您将获得NullPointerException
,因为findViewById方法将找不到视图并将返回null。您应该使用SharedPreferences
。单击Button
并在第二个Activity
中阅读时,应保存文字大小值。
在您的设置活动中:
small.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(YourActivity.this.getBaseContext());
sharedPreferences.edit()
.putFloat("FONT_SIZE", 22)
.apply();
}
});
在您有TextView
的活动中 TextView tv = (TextView)findViewById(R.id.quotes);
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(YourActivity.this.getBaseContext());
tv.setTextSize(sharedPreferences.getFloat("FONT_SIZE", 13/*DEFAULT VALUE*/));