单击按钮时无法更改TextView大小,为什么?

时间:2015-04-14 17:57:16

标签: android button textview text-size

大家好我现在正在使用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

1 个答案:

答案 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*/));