Метод setTextSize не работает с использованием LayoutInflater: - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу реализовать метод changeTextSize1 (в SettingActivity.java), когда я нажимаю textView (не входит в приведенные ниже коды). changeTextSize1 - это метод, который изменяет текстовый размер finalT textView.Но это не работает.

SettingActivity.java

 public void changeTextSize1(View v) {

    TextView ts1 = (TextView) findViewById(R.id.textsize1);
    TextView ts2 = (TextView) findViewById(R.id.textsize2);
    TextView ts3 = (TextView) findViewById(R.id.textsize3);
    ts1.setTypeface(ts1.getTypeface(), Typeface.BOLD);
    ts2.setTypeface(ts2.getTypeface(), Typeface.NORMAL);
    ts3.setTypeface(ts3.getTypeface(), Typeface.NORMAL);

    View view = (View) getLayoutInflater().inflate(R.layout.recycler_todo, null);

    TextView finalT = (TextView) view.findViewById(R.id.finalText);
    finalT.setTextSize(22);
}

recycler_todo.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#56A2B7"
android:orientation="vertical">

<TextView
    android:id="@+id/finalText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="25dp"
    android:layout_marginBottom="25dp"
    android:gravity="center"
    android:text="text"
    android:textSize="16sp"
    android:textColor="#ffffff"/>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0.5dp"
    android:background="#ffffff"
    android:orientation="vertical">

</LinearLayout>

ниже приведены дополнительные коды.

MyAdapter.java

public MyAdapter(ArrayList<TodoList> myDataset) {
    mDataset = myDataset;
}

@Override
public MyAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent,
                                               int viewType) {
    // create a new view
    LinearLayout v = (LinearLayout) LayoutInflater.from(parent.getContext())
            .inflate(R.layout.recycler_todo, parent, false);
    MyViewHolder vh = new MyViewHolder(v);
    return vh;
}

activity_main.xml

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="672dp"
    android:orientation="vertical"
    >

    <android.support.v7.widget.RecyclerView
        android:id="@+id/my_recycler_view"
        android:scrollbars="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#56A2B7">

    </android.support.v7.widget.RecyclerView>

</LinearLayout>

введите описание изображения здесь

введите описание изображенияздесь

Первое изображение: Если я щелкну это «1» TextView ... → Второе изображение: Это предложение должно быть больше ...

Требуется больше кодов?

1 Ответ

0 голосов
/ 27 февраля 2019

Ohhk, Итак, прежде всего вы хотите изменить размер текста вашего элемента на экране настроек, который вы хотите отразить в вашем адаптере.

, а затем вам просто нужно сохранить этот размер текста в SharedPreferences , а затем в методе MyAdapter onBindViewHolder , считайте размер текста из настроек и установите его в текстовом представлении, это так просто.

Вот небольшая проблема,

public MyAdapter(ArrayList<TodoList> myDataset) {
    mDataset = myDataset;
}

@Override
public MyAdapter.MyViewHolder onBindViewHolder(MyAdapter.MyViewHolder holder, int position) {

    // HERE YOUR CODE GOES TO SET TEXT SIZE FROM SETTING
    holder.textview.setText(readSizeFromSharedPreference())
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...