我想将按钮单击字符串值从活动发送到非活动类中,我尝试了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;
}
}
} }
答案 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;
}