尝试从第1类活动调用方法并在第2类活动中保持相同的参数(android studio)

时间:2015-04-10 20:31:50

标签: java android android-studio

目前正在完成我一直在努力的应用程序,但我还是坚持最后一件事。

该应用程序有2个活动,一个按钮是类别,另一个根据按下的按钮显示信息。例如,如果您单击快餐按钮,它将转到第二个屏幕并显示相关信息。

我正在尝试在第二个活动上获得一个刷新按钮,该活动将调用第一个活动中的方法,以根据按下的按钮刷新新信息。问题是我不知道怎么做,所以方法在调用时保持相同的参数。我的意思是,如果点击快餐,刷新按钮将获得仍与快餐类别相关的新信息。

以下是主要活动中的相关代码:

public void yelpSearch(View view) {
    switch (view.getId()) {
        case R.id.button: buttoncategory = "Restaurant";
        break;
        case R.id.button2: buttoncategory = "Chinese restaurant";
        break;
        case R.id.button3: buttoncategory = "Fast Food";
        break;

和第二个活动

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.refresh:
        Refresh();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

public void Refresh() {
MainActivity mActivity = new MainActivity();
mActivity.yelpSearch();
}

我不确定将什么放在mActivity.yelpSearch(); 我尝试使用(查看视图),但它会说无法解析符号视图。如果我为视图创建一个局部变量,它会说没有初始化,我不知道将它设置为什么

任何帮助都会很棒,现在谷歌搜索了一段时间,并在这里搜索了大量的问题。我还是新手,所以忍受我

2 个答案:

答案 0 :(得分:1)

我想你想在活动之间传递数据?

第一项活动(发送数据):

String data="YourXXXdata" 
Intent intent = new Intent(getBaseContext(), MainActivity.class);
intent.putExtra("DATANAME", data);
startActivity(intent)

第二个活动(接收数据):

Bundle extras = getIntent().getExtras();
if (extras != null) {
    String value = extras.getString("DATANAME");
}

现在数据位于String value

*您必须根据预览选择按钮输入所需的数据。

答案 1 :(得分:-2)

制作yelpSearch方法static
并从第二个活动MainActivity.yelpSearch();

中调用它