2016-09-29 2 views
0

Я очень новый для андроид, и я пытаюсь сделать CardView по программному, я использую Фрагмент. Установив OnClick на кнопке, я могу создавать карты в своем макете. Проблема заключается в том, что закрытие карт активности не отображается.Сохранение cardview программно даже после закрытия деятельности

Как сэкономить карты, поэтому после закрытия карты действий должны быть там?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getActivity().setTitle("Okhlee"); 
} 

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    view = inflater.inflate(R.layout.hawker_jobs_fragment_layout, container, false); 
    context = getContext(); 
    button = (Button) view.findViewById(R.id.hawker_job_add_card_view_button); 
    button.setOnClickListener(this); 
    relativeLayout = (RelativeLayout) view.findViewById(R.id.hawker_job_relative_layout); 

    return view; 
} 

@Override 
public void onClick(View v) { 
    createCardView(); 
} 

/*Adding cardview programmatically function */ 
private void createCardView() { 
    CardView addedCardView = new CardView(context); 
    layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, height); 
    addedCardView.setLayoutParams(layoutParams); 
    addedCardView.setPadding(10 ,10, 10, 10); 
    addedCardView.setRadius(15); 
    addedCardView.setCardBackgroundColor(Color.BLUE); 
    addedCardView.setMaxCardElevation(30); 
    addedCardView.setMaxCardElevation(6); 

    relativeLayout.addView(addedCardView); 
} 

Извините за мой плохой английский.

+0

что вы имеете в виду 'после закрытия activity'? –

+0

после закрытия приложения, когда я снова открываю приложение, я снова должен добавить. –

+0

Ожидается поведение Android-приложения. Каждый раз, когда приложение уничтожается как onDestroy(), все UI будут воссозданы. Подробнее [Деятельность] (https://developer.android.com/guide/components/activities.html) –

ответ

0

Вы можете использовать SharedPreferences, чтобы узнать, следует ли отображать карту.

Вот пример кода, используя оригинал один -

@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    view = inflater.inflate(R.layout.hawker_jobs_fragment_layout, container, false); 
    context = getContext(); 
    button = (Button) view.findViewById(R.id.hawker_job_add_card_view_button); 
    button.setOnClickListener(this); 
    relativeLayout = (RelativeLayout) view.findViewById(R.id.hawker_job_relative_layout); 

    SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE); 
    boolean shouldDisplayCard = sharedPref.getBoolean("should_display_card", false); 

    if(shouldDisplayCard) 
     createCardView(); 

    return view; 
} 

@Override 
public void onClick(View v) { 

    SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = sharedPref.edit(); 
    editor.putBoolean("should_display_card", true); 
    editor.apply(); 

    createCardView(); 
} 
+0

Спасибо за это усилие @tofira, но кажется, что не работает то же самое после закрытия карт активности, которые не отображаются. –

+0

Можете ли вы уточнить? Я просто пробовал этот код внутри Фрагмента, и, похоже, он работает. – Tofira

+0

Мне очень жаль, что ваш код работает как шарм, я забыл использовать 'shouldDisplayCard' –

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