Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class SearchFragment : Fragment() {
- private lateinit var searchText: EditText?
- private lateinit var searchResultView: TextView?
- private lateinit var searchButton: Button?
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View = inflater.inflate(R.layout.fragment_search, container, false)
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) = runBlocking {
- searchText = view.findViewById(R.id.search_text)
- searchResultView = view.findViewById(R.id.search_result)
- searchButton = view.findViewById(R.id.search_button)
- searchButton.setOnClickListener {
- searchButton?.enabled = false
- val searchString = searchText.text.toString()
- launch {
- post(searchString)
- }
- }
- }
- suspend fun post(searchString: String) {
- try {
- val searchResult = executeSearchRequest(searchString)
- } catch(e: NetworkException) {
- // todo
- }
- runOnUiThread {
- searchResultView?.text = searchResult
- searchButton?.enabled = true
- }
- }
- override fun onSaveInstanceState(bundle: Bundle) {
- bundle.putExtra("searchResultViewText", searchResultView?.text)
- //todo
- }
- override fun onRestoreInstanceState() {
- //todo
- }
- override fun onDestroyView() {
- searchButton.setOnClickListener(null)
- searchText = null
- searchResultView = null
- searchButton = null
- }
- private fun executeSearchRequest(searchString: String): String {
- // Долгая операция, возможно поход в сеть
- }
- }
- ////////////////////////////////////////
- public class VV extends View {
- Paint p = new Paint();
- Rect firstSquare;
- Rect secondSquare;
- Rect thirdSquare;
- public VV(Context context) {
- super(context);
- p.setColor(Color.BLUE);
- }
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- firstSquare = new Rect(0, 0, getSize(widthMeasureSpec), getSize(heightMeasureSpec));
- secondSquare = new Rect(100, 100, getSize(widthMeasureSpec) - 100, getSize(heightMeasureSpec) - 100);
- thirdSquare = new Rect(200, 200, getSize(widthMeasureSpec) - 200, getSize(heightMeasureSpec) - 200);
- }
- private int getSize(int measureSpec) {
- //todo
- }
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- canvas.drawRect(firstSquare, p);
- canvas.drawRect(secondSquare, p);
- canvas.drawRect(thirdSquare, p);
- }
- }
- ///////////////////////////////////////
- class Counter(var count: Long) {
- fun increment() {
- count++
- }
- fun decrement() {
- count--
- }
- }
- val counter = Counter(0)
- val runnable1 = Runnable {
- for (i in 0..999) {
- counter.increment()
- }
- }
- val runnable2 = Runnable {
- for (i in 0..999) {
- counter.decrement()
- }
- }
- val executor = Executors.newCachedThreadPool()
- executor.execute(runnable1)
- executor.execute(runnable2)
- // Каким будет значение counter.count?
- ////////////////////////////////////////
- class Task(val id: Long, val name: String)
- val task1 = Task(1, "Задача")
- val task2 = Task(1, "Задача")
- val tasks = HashSet<Task>()
- tasks.add(task1)
- tasks.add(task2)
- // Каким будет содержимое tasks? Объясните причины
- ////////////////////////////////////////
- public class A {
- private final int x;
- public A(int x) {
- this.x = x;
- }
- public void doIt(A a) {
- System.out.println(a.x);
- }
- }
- public class Runner {
- public static void main(String[] args) {
- A a = new A(1);
- A b = new A(2);
- b.doIt(a);
- }
- }
- 1. Скомпилируется ли такой код;
- 2. Будет ли работать
- 3. Что выведется на экран
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement