我在类中有以下方法,它是ListView的自定义适配器。
convertView.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String test = availableDevices.get(position).getAddress().toString();
}
});
字符串test
包含设备的mac地址。我的问题是:如何将此变量传递给新活动。在我看来,我不能像往常一样这样做:
Intent intent = new Intent();
intent.setClass(Activity1.this, Activity2.class);
startActivityForResult(**,**);
答案 0 :(得分:1)
您可以通过在意图中传递字符串来完成此操作:
intent.putExtra("Test", test);
第一个参数是键,第二个是值 然后在其他活动中做:
Intent launchingIntent = getIntent();
launchingIntent.getStringExtra("Test");
答案 1 :(得分:1)
将测试传递给新的Activity2:
Intent intent = new Intent();
intent.setClass(Activity1.this, Activity2.class);
intent.putExtra("Test", test);
startActivityForResult(intent,0); // 0 is as requestCode here
答案 2 :(得分:1)
您必须将Context对象用于除扩展Activity之外的类。
Intent intent = new Intent();
intent.setClass(contextObj, Activity2.class);
intent.putExtra("macadd", //value goes here);
contextObj.startActivityForResult(intent,requestcode goes here);
答案 3 :(得分:1)
设置public static String test。然后你就可以访问它了应用程序。
感谢。
答案 4 :(得分:0)
以这种方式解决
Intent intent = new Intent(c, Connection.class);
intent.putExtra("mac", test);
c.startActivity(intent);
谢谢你们!
答案 5 :(得分:0)
使用像这样的SharedPreferences
String username = CarName.getText().toString();
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = settings.edit();
editor.putString("Shareusername",username);
editor.commit();
并在接收端使用类似这样的内容
// TextView textView =(TextView)findViewById(R.id.lblnames); SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); String shareUsername = settings .getString(“Shareusername”,“null”); Vehicle.setText(shareUsername);
答案 6 :(得分:0)
设置adpater时将其传递给YourCurrentActivity.this
Adapter adapter=new Adapter(YourCurrentActivity.this);
在您的 Adpater 课程中进行了如下所示的更改
public Activity activity;
public Adapter(Activity act) {
activity = act;
}
在此之后使用代码如下所示
Intent intent = new Intent();
intent.setClass(activity.this, Activity2.class);
intent.putExtra("Test", test);
startActivityForResult(intent,0);