如何从Java中的另一个类获取变量?
我想获取类main活动类型中的id\u categories变量,以便在类ListFood中的LoadListFoodbyId(int id)方法中使用 MainActivity.java如何从Java中的另一个类获取变量?,java,android,Java,Android,我想获取类main活动类型中的id\u categories变量,以便在类ListFood中的LoadListFoodbyId(int id)方法中使用 MainActivity.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mai
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.list_store_View);
LoadCategories();
lv.setOnItemClickListener(new CategoriesClickListener());
}
// The click listener for ListView in Store List
private class CategoriesClickListener implements
ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Categories item = cateAdapter.getItem(position);
Intent itent = new Intent(getApplicationContext(), ListFood.class);
itent.putExtra("item", item);
int id_categories = item.getId(); //i want to get this variable
String log = "ID: " + id_categories;
startActivity(itent);
Log.d("ID: ", log);
}
}
另一种方法是获取MainActivity在类ListFood中使用的类MainActivity id_类别中的变量:
MainActivity main = new MainActivity();
LoadListFoodbyId (main.getId ()),
但是都没有成功。在MainActivity类中定义变量id\u类别示例:
public class MainActivity {
private int id_categories;
...
更改此行代码
int id_categories = item.getId();
在
并在MainActivity类中创建一个函数
public int getIdcategories(){
return id_categories;
}
Categories item = cateAdapter.getItem(position);
Intent itent = new Intent(getApplicationContext(), ListFood.class);
itent.putExtra("item", item);
int id_categories = item.getId(); //i want to get this variable
String log = "ID: " + id_categories;
itent.putExtra("id_categories", id_categories) //you can call your variable whatever you want, I have called it "id_categories" for convenience.
startActivity(itent);
Log.d("ID: ", log);
Bundle b=getIntent().getExtras();
int id_categories=bundle.getInt(“id_categories”)代码>
把它放在你的主要活动中,像这样
itent.putExtra("id", item.getId());
int id=getIntent().getIntExtra("id",0); // 0 is default value if id is not found in intent
然后像这样在食物列表中检索它
itent.putExtra("id", item.getId());
int id=getIntent().getIntExtra("id",0); // 0 is default value if id is not found in intent
在创建之前,在
main活动
中将id\u类别
声明为public static int id\u类别
。然后,您可以在任何类中以MainActivity.id\u categories
MainActivity main=new()的形式访问它
和LoadListFoodbyId(main.getId())
,你确定你在写Java吗?用意图附加发送它
永远不要手动实例化活动,使用附加绑定只看到剪切和粘贴的错误我更正了它谢谢'sHow我可以在类ListFood中使用getIdcategories()吗?我尝试了MainActivity main=newmainActivity();LoadListFoodbyId(main.getId())结果始终为零。ListFood lf=new ListFood();lf.LoadListFoodbyId(.getIdcategories());
int id=getIntent().getIntExtra("id",0); // 0 is default value if id is not found in intent