Просмотр не отображается при попытке добавить его из другой студии класса android - PullRequest
0 голосов
/ 25 мая 2020

Итак, я недавно написал простой код, который добавляет TextView к существующему RelativeLayout, который существует в другом фрагменте, код работал нормально, и добавляю TextView без каких-либо проблем, например:

public class FragmentSwitch extends Fragment {
    private int id;

    public FragmentSwitcher(int id) {
        this.id = id;
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(id, container, false);

        if (id == R.layout.fragment1) {
            create_text(1, v, "test", getActivity());
        }
    }

    private void create_text(int id, View v, String txt, Context ctx) {
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);

        TextView the_text = new TextView(ctx);
        day_text.setLayoutParams(params);
        day_text.setText(txt);
        day_text.setTextSize(20);
        day_text.setTextColor(Color.parseColor("#000000"));
        day_text.setGravity(Gravity.CENTER);

        RelativeLayout main_container = v.findViewById(R.id.main1);

        main_container.addView(the_text);
    }
}

Но когда я пытаюсь сделать то же самое из отдельного класса, например:

public class objectsCreator {
    private Context ctx;

    public objectsCreator(Context ctx) {
        this.ctx = ctx;
    }

    public void create_text(int id, View v, String txt) {
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);

        TextView the_text = new TextView(this.ctx);
        day_text.setLayoutParams(params);
        day_text.setText(txt);
        day_text.setTextSize(20);
        day_text.setTextColor(Color.parseColor("#000000"));
        day_text.setGravity(Gravity.CENTER);

        RelativeLayout main_container = v.findViewById(R.id.main1);

        main_container.addView(the_text);
    }
}
public class FragmentSwitch extends Fragment {
    private int id;

    public FragmentSwitcher(int id) {
        this.id = id;
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(id, container, false);
        objectsCreator oc = new objectsCreator(getActivity());

        if (id == R.layout.fragment1) {
            oc.create_text(1, v, "test");
        }
    }
}

, он просто не работает, не показывает ошибок и не добавляет TextView, приложение даже не треснет sh, если я не попытаюсь сделать то же самое, используя класс Thread, так в чем может быть проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...