Android 无法在单击按钮时更改文本视图大小,原因是什么?

Android 无法在单击按钮时更改文本视图大小,原因是什么?,android,button,textview,text-size,Android,Button,Textview,Text Size,大家好,我现在正在开发一个应用程序,其中有许多引号,在TextView中,我想更改按钮单击时TextView的大小,比如如果单击小按钮,则TextView应该变小,如果单击大,则应该变大,等等。但每次我按下按钮应用程序强制关闭!有什么问题吗?以下是按钮的OnClickListener: small = (Button) findViewById(R.id.small); small.setOnClickListener(new View.OnClickListener() {

大家好,我现在正在开发一个应用程序,其中有许多引号,在
TextView
中,我想更改按钮单击时
TextView
的大小,比如如果单击小按钮,则
TextView
应该变小,如果单击大,则应该变大,等等。但每次我按下
按钮
应用程序强制关闭!有什么问题吗?以下是
按钮的
OnClickListener

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);
            }
        });

注意:
文本视图
按钮
处于不同的
活动
无法通过
按钮
从另一个
活动
中的一个
活动
更改
文本视图
的大小。您将获得
NullPointerException
,因为findViewById方法将找不到视图,并将返回null。您应该使用
SharedReferences
。单击
按钮
并在第二个
活动
中读取时,应保存文本大小值

在设置活动中:

   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 tv = (TextView)findViewById(R.id.quotes);
     SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(YourActivity.this.getBaseContext());
     tv.setTextSize(sharedPreferences.getFloat("FONT_SIZE", 13/*DEFAULT VALUE*/));

文本视图和按钮处于不同的活动中?因为findViewById连接到一个活动的布局,所以它将不起作用。对此问题有任何解决方案吗?请提供更多信息。例如,可以通过使用Intent.putExtra、LocalBroadcastManager和EventBus库从一个活动更改另一个活动中发生的内容。也可以在SharedReferences中设置类似首选字体大小的内容。这完全取决于你的情况。有什么解决办法吗?请告诉我,因为从2个月以来我一直在开发这个应用程序…非常感谢!您也可以在一些单例中设置您的值,但您的问题听起来像是一些设置。如果您想创建类似设置的内容,它是一个正确的解决方案,因此此解决方案适合您。你知道这是怎么做到的吗?如果你愿意,我可以给你举个例子,非常感谢!!!如果你举个例子,我真的很感激:-)给我举个例子,我一定会接受!