【问题标题】:set textsize for multiple textview with different ids为具有不同 id 的多个 textview 设置 textsize
【发布时间】:2016-08-29 09:13:15
【问题描述】:

我正在尝试为具有不同 id 的多个 textview 设置 textsize。此外,每个文本视图都在其自己的片段中查看和滑动视图寻呼机。

但是,问题是这段代码只适用于第一个和第二个 id,其余的没有改变。另外,如果我删除 if (sT != null) 我得到空点错误。

   @Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;


        case R.id.small_fond_size:
            int[] ids = {R.id.text_view_thread0, R.id.text_view_thread1, R.id.text_view_thread2, R.id.text_view_thread3,
                    R.id.text_view_thread4, R.id.text_view_thread5, R.id.text_view_thread6, R.id.text_view_thread7,
                    R.id.text_view_thread8, R.id.text_view_thread9, R.id.text_view_thread10, R.id.text_view_thread11,
                    R.id.text_view_thread12, R.id.text_view_thread13, R.id.text_view_thread14, R.id.text_view_thread15,
                    R.id.text_view_thread16, R.id.text_view_thread17, R.id.text_view_thread18};
            for (int id : ids){
                TextView sT = (TextView) findViewById(id);
                if (sT != null)
                sT.setTextSize(9);
            }
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

【问题讨论】:

    标签: android menu textview


    【解决方案1】:

    我不认为这个sn-p有什么问题

    int[] ids = {R.id.text_view_thread0, R.id.text_view_thread1, R.id.text_view_thread2, R.id.text_view_thread3,
                    R.id.text_view_thread4, R.id.text_view_thread5, R.id.text_view_thread6, R.id.text_view_thread7,
                    R.id.text_view_thread8, R.id.text_view_thread9, R.id.text_view_thread10, R.id.text_view_thread11,
                    R.id.text_view_thread12, R.id.text_view_thread13, R.id.text_view_thread14, R.id.text_view_thread15,
                    R.id.text_view_thread16, R.id.text_view_thread17, R.id.text_view_thread18};
            for (int id : ids){
                TextView sT = (TextView) findViewById(id);
                if (sT != null)
                sT.setTextSize(9);
    

    我试过了,它设置增量字体大小如下:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        int[] ids = {R.id.t1, R.id.t2,  R.id.t3,  R.id.t4,  R.id.t5,  R.id.t6,  R.id.t7,  R.id.t8};
        for (int i = 0; i < ids.length; i++) {
            TextView sT = (TextView) findViewById(ids[i]);
            if (sT != null)
                sT.setTextSize(9 + i);
        }
    }
    

    这工作正常。因为我无权在下面的问题发表评论,所以我不得不将其写在答案中。请就您的问题提供更多提示。

    Github 参考:https://github.com/kuldeepiitg/FontSize

    【讨论】:

    • 我不认为这是因为拼写错误,但请检查“case R.id.small_fond_size:”是否有 id 不匹配。喜欢而不是字体。
    • 非常感谢您的帮助! ..如果所有文本视图都在同一个活动中,这完全有效。但我正在使用带有 18 个片段的 viewpager,每个片段都有一个 textview.. 我正在尝试从主要活动中更改所有这些片段。
    • 你在为片段做这样的事情吗? fragmentManager.beginTransaction() .replace(R.id.content_frame, fragment) .commit();
    • 我正在从 viewpager 适配器返回 (return new Thread0_Fragment();)
    • 是多标签页吗?
    猜你喜欢
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    相关资源
    最近更新 更多