2016-09-29 46 views
0

我對android非常陌生,我試圖通過編程方式製作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' –

相關問題