Làm cách nào để có được giá trị chuỗi "hủy" khỏi int tài nguyên này: android.R.string.cancel?Làm cách nào để chuyển đổi tài nguyên android int thành chuỗi. ví dụ: android.R.string.cancel?
cảm ơn bạn
Làm cách nào để có được giá trị chuỗi "hủy" khỏi int tài nguyên này: android.R.string.cancel?Làm cách nào để chuyển đổi tài nguyên android int thành chuỗi. ví dụ: android.R.string.cancel?
cảm ơn bạn
Đơn giản chỉ cần sử dụng Context#getString()
:
String string = getString(android.R.string.cancel);
Tôi đã cố gắng tiếp cận này nhưng không thành công ... Tôi đã một lớp:
public class MyDialogFragment extends DialogFragment {
DialogFragment không phải là lớp con của Ngữ cảnh, vì vậy bạn eed để có quyền truy cập vào một tài khoản hợp lệ (như hoạt động của bạn). Sử dụng điều này:
String string = getActivity().getString(android.R.string.cancel);
Hoặc như bạn phát hiện ra bạn có thể sử dụng Hoạt động thông qua vào onAttach()
, nhưng hiểu bạn có thể làm bất cứ nơi nào này bên trong một Fragment miễn là bạn có một bối cảnh hợp lệ để làm việc với.
Như đã nêu ở đây: http://developer.android.com/reference/android/content/Context.html#getString(int)
String s = context.getString(android.R.string.cancel);
context
có thể là hoạt động hiện tại, hoặc bất kỳ đối tượng kế thừa lớp trừu tượng Context
.
Điều này sẽ chuyển đổi mọi tài nguyên Android thành chuỗi. Trong ví dụ này, tôi đã sử dụng ‘R.color.myColor’ nhưng nó sẽ hoạt động với bất kỳ loại tài nguyên Android nào.
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="btnDialBgColor">#00BFA5</color>
<color name="btnDialBgColorActive">#C51162</color>
</resources>
TypedValue typedValueActive = new TypedValue();
TypedValue typedValue = new TypedValue();
getResources().getValue(R.color.btnDialBgColorActive, typedValueActive, true);
getResources().getValue(R.color.btnDialBgColor, typedValue, true);
Hope this helps.
Tôi đã thử cách tiếp cận này nhưng không thành công ... nhưng bây giờ tôi biết mình đã làm gì sai: Tôi có một lớp: 'lớp công khai MyDialogFragment mở rộng DialogFragment {' và bên trong lớp này tôi đã làm: riêng tư Chuỗi xbtAffirmativeLabel = getString (android.R.string.cancel); và đây là vấn đề, tôi chỉ có thể làm điều đó bên trong một phương thức như: public void onAttach (Activity activity) {cảm ơn vì sự hỗ trợ của bạn đã giúp tôi nhận ra điều đó. – HugoXP