public class MainActivity extends AppCompatActivity implements LifecycleOwner { private LifecycleRegistry lifecycleRegistry; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lifecycleRegistry = new LifecycleRegistry(this); lifecycleRegistry.markState(Lifecycle.State.CREATED); } @Override protected void onStart() { super.onStart(); lifecycleRegistry.markState(Lifecycle.State.STARTED); } @Override protected void onResume() { super.onResume(); lifecycleRegistry.markState(Lifecycle.State.RESUMED); } @Override protected void onPause() { super.onPause(); lifecycleRegistry.markState(Lifecycle.State.STARTED); } @Override protected void onStop() { super.onStop(); lifecycleRegistry.markState(Lifecycle.State.CREATED); } @NonNull @Override public Lifecycle getLifecycle() { return lifecycleRegistry; } } public class MyViewModel extends ViewModel { private MutableLiveData<String> data; public LiveData<String> getData() { if (data == null) { data = new MutableLiveData<>(); loadData(); } return data; } private void loadData() { new Handler().postDelayed(() -> data.setValue("Hello World!"), 2000); } } kotlin @Composable fun MyScreenContent() { var name by remember { mutableStateOf("") } Column(modifier = Modifier.padding(16.dp)) { TextField( value = name, onValueChange = { name = it }, label = { Text("Enter your name") } ) Spacer(modifier = Modifier.height(16.dp)) Text(text = "Hello, $name") } } @Preview @Composable fun PreviewMyScreenContent() { MyScreenContent() }


上一篇:
下一篇:
切换中文