2015-07-10 1 views
-1

привет там У меня есть класс вроде этого:как я могу отправить параметры в класс java в android?

public class ScrollFragment extends Fragment { 

    private ObservableScrollView mScrollView; 

    public static ScrollFragment newInstance() { 
     return new ScrollFragment(); 
    } 

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

    @Override 
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
     stringA1 = A1; // A1 = "mystring" 
    } 
} 

как можно передать A1 классу?

Я использую эту функцию для вызова класса:

import com.github.florent37.materialviewpager.sample.fragment.ScrollFragment; 
... 
ScrollFragment1.newInstance(); 

Так что я хочу отправить строку в класс, когда я звоню класс:

ScrollFragment1.newInstance("mystring"); 

Но теперь я должен изменить что-то в классе ... но как?

ответ

0

Данные для фрагментов должны быть отправлены через Bundle. Попробуйте следующее:

public class ScrollFragment extends Fragment { 

    private ObservableScrollView mScrollView; 
    private String mString; 

    public static ScrollFragment newInstance(String string) { 
     ScrollFragment scrollFragment = new ScrollFragment(); 

     Bundle args = new Bundle(); 
     args.putString("stringKey", string); 
     scrollFragment.setArguments(args); 

     return scrollFragment; 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     mString = getArguments().getString("stringKey"); 
    } 

... 
} 
+0

он прав с ответом, вы должны проверить, как разрешено ... –

Смежные вопросы