发送按钮单击从活动到非活动的值

时间:2018-06-26 20:19:06

标签: java android

我想将按钮单击字符串值从活动发送到非活动类中,我尝试了startActivity()和getIntent()函数,但没有用,我还在非活动类中设置了公共类,以便初始化onCreate函数以获取单击。 这是我的按钮初始化的Activity类 MainSecond.java

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second_main);


    button1 = (Button) findViewById(R.id.button1);
    button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Toast.makeText(MainSecond.this,"b1c",Toast.LENGTH_SHORT).show();
            Intent i = new Intent(MainSecond.this, SegmentBitmapsLoader.class);
            i.putExtra("message","hello");
            startActivity(i);




        }
    });

    button2 = (Button) findViewById(R.id.button2);
    button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Toast.makeText(MainSecond.this,"b2c",Toast.LENGTH_SHORT).show();
            Intent i2 = new Intent(MainSecond.this, SegmentBitmapsLoader.class);
            i2.putExtra("message","hi");
            startActivity(i2);

        }

    });
}

这是我的非活动功能:

public class SegmentBitmapsLoader extends AbsAsyncDataLoader<List<SegmentBitmap>> {

private Uri mImageUri;

int r;

public SegmentBitmapsLoader(Context context, Uri imageUri) {
    super(context);

    mImageUri = imageUri;


}

public class segmentbitmapsloader extends Activity{
public void onCreate (Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    Intent intent = getIntent();

    String message = intent.getStringExtra("message");

    if (message.equals("hello")) {
        r=1;

    }
    else if (message.equals("hi")) {

         r=0;
    }
}

} }

1 个答案:

答案 0 :(得分:0)

我不太了解您的问题。但是,如果要将数据从一个类发送到另一个类,则可以使用基本的Java功能。

对于您的代码,可以在Main类中声明该字符串。 并分配字符串值。 message =“ hello”; //或任何字符串

您不需要活动。非常基础 https://www.geeksforgeeks.org/different-ways-create-objects-java/

在其他类(SegmentBitmapsLoader)中,您可以通过创建对象并调用字符串

来获取String消息。
public void someMethod(){
MainActivity mainActivity = new MainActivity();//assuming MainActivity is your java class
String test = mainActivity.message;

}