Как прочитать коды методов из другой деятельности в моей деятельности? - PullRequest
0 голосов
/ 08 апреля 2019

Я хочу вызвать метод из другой деятельности в моей деятельности.Я попробовал этот код, но мое приложение не работает!:

SecondActivity:

package com.mycompany.myapp;

import android.app.*;
import android.os.*;
import android.widget.*;

public class SecondActivity extends Activity
{


public void toast()
{
    Toast.makeText(getApplicationContext(),"hello",50).show();
}

}

MainActivity:

package com.mycompany.myapp;

import android.app.*;
import android.os.*;
import com.mycompany.myapp.*;
public class MainActivity extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        SecondActivity s=new SecondActivity();
        s.toast();

    }
}

В чем проблема ?!Пожалуйста, помогите мне.Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

Вы не создаете экземпляры действий, а начинаете их с намерения

Intent intentSecondActivity = new Intent(this,SecondActivity.class);
intentSecondActivity.putExtra("methodToStart","toast");
startActivity(intentScheduleActivity);

Во втором разделе прочитайте дополнения и запустите метод:

protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.secondActivity);

    String method = getIntent().getStringExtra("method");
    if (method.equals("toast"){
        toast();
    }
}

В качестве альтернативы вы можете изучить фрагменты.

0 голосов
/ 08 апреля 2019

Я думаю, вы путаете класс Java и Activity.Если вы хотите объявить методы, которые не нуждаются в макете и материалах для деятельности, создайте класс Java и используйте открытые методы.

1) MainActivity - класс деятельности

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ToastClass toastClass = new ToastClass();
        toastClass.toast(getApplicationContext(), "Hey dude!!");
    }
}

2)ToastClass - класс java

public class ToastClass {
    public void toast(Context context, String msg) {
        Toast.makeText(context ,"hello",Toast.LENGTH_SHORT).show();
    }
}

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...