как добавить флажок внутри фрагментов, которые влияют на основное действие

95
10

Привет, ребята, я попытался добавить флажок в фрагменте, но я не могу подключить его к основному действию, чтобы флажок внутри фрагмента изменил текстовое представление внутри основного действия

код, который я использовал для Fragment java,

 package com.example.eyad.fragwork;

import android.app.Activity;
import android.os.Bundle;import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;

public class Fragm extends Fragment {

CheckBox c1,c2,c3;
changeT ct;

public Fragm() {
// Required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View v=inflater.inflate(R.layout.fragment_, container, false);
c1=(CheckBox)v.findViewById(R.id.c1);
c2=(CheckBox)v.findViewById(R.id.c2);
c3=(CheckBox)v.findViewById(R.id.c3);

if(c1.isChecked())
ct.changtxt(c1.getText().toString());
if(c2.isChecked())
ct.changtxt(c2.getText().toString());
if(c3.isChecked())
ct.changtxt(c3.getText().toString());

return v;

}
public interface changeT{
public void changtxt(String S);
}

@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
ct=(changeT)activity;
}

}

и код для основного вида деятельности

package com.example.eyad.fragwork;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainFrag extends AppCompatActivity implements Fragm.changeT{
TextView tv;
String w="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_frag);
tv=(TextView)findViewById(R.id.textView);

tv.setText(w);

}

@Override
public void changtxt(String S) {

if(S.equals("be happy"))
w +=S;
if(S.equals("no worries"))
w +=S;
if (S.equals("it will be okay"))
w +=S;

}

}

и на странице xml mainactivity есть рис.

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

все готово

спросил(а) 2017-03-31T23:02:00+03:00 3 года, 11 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема