Как я могу динамически обновлять TextView? - PullRequest
0 голосов
/ 21 января 2019

Итак, у меня есть TextView для всего товара в корзине. Каждый пользователь добавляет товар в корзину, обновляется TextView. Как я могу это сделать? Есть ли какой-нибудь метод, который непрерывно работает после onCreate(). Во-первых, я думаю, что метод onResume() сделает это, но кажется, что onResume() тоже запускается один раз. Итак, существует ли какой-либо метод, который работает непрерывно, работает ли он на фоне, на переднем плане или на каком-либо другом. Я все еще новичок в этом деле, я когда-либо изучал Thread, но до сих пор не понимаю.

Спасибо заранее.

РЕДАКТИРОВАТЬ: имя моего родительского макета activity_menu.xml , и это мой TextView макет:

<TextView
style="@style/ViewBasket.ItemInfo"
android:text="0"
android:layout_marginStart="30dp"
android:layout_toEndOf="@id/viewBasketTV"
android:id="@+id/totalItem"/>

РЕДАКТИРОВАТЬ 2: Кнопка включена RecyclerView, в то время как TextView находится за пределами RecyclerView.

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Если я правильно понимаю ваш вопрос, я не думаю, что вам нужен поток, чтобы сделать это, сначала вы создаете метод, который получает параметр и обновляет TextView в Деятельности или Фрагменте, в котором находится TextViewтакой, что:

Давайте предположим, что вы хотите, чтобы Textview обновил и добавил 1, когда пользователь нажимает кнопку с именем add

    //First you declare the TextView
    private TextView totalItem;
    private Button addItem
    private int itemCount = 0;

//Then in your on create method you initialize the TextView and Button

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cart);

        totalItem = (TextView) findViewById(R.id.totalItem);
        addItem = (Button) findViewById(R.id.addItem);

            addItem.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // Get Previous Count
                    itemCount = Integer.ParseInt(totalItem.getText().toString());

                    updateTextview(itemcount + 1);
                }
            });
    }


        //This method accepts integer parameters and updates the TextView within
        private void updateTextview(integer count){

            totalItem.setText(count);
        }
0 голосов
/ 21 января 2019
public void updateAcitivityCount(int count){
    ((TextView)findViewById(R.id.youtTextView)).setText(""+count);
}
// add above code in your activity
public class CountHelper{
   private Context context;
    public CountHelper(Context context){
       this.context =  context
   }
    public void updateTextField(int count){
    ((YourActivity)context). updateAcitivityCount(count) 
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...