如何从一个类中获取int值并在另一个中使用它

艾哈迈德·纳赛尔:

我需要在onItemClick中获取网格视图的位置

public void onItemClick(AdapterView<?> parent, View v,
                                int position, long id) {
            switch (position) {
                case 0:
                    Intent i = new Intent(MainActivity.this, TabActivity.class);
                    startActivity(i);
                    Position = 0;
                    break;
                case 1:
                    i = new Intent(MainActivity.this, TabActivity.class);
                    startActivity(i);
                    Position = 1;
                    break;
                case 2:
                    i = new Intent(MainActivity.this, TabActivity.class);
                    startActivity(i);
                    Position = 2;
                    break;
                case 3:
                    i = new Intent(MainActivity.this, TabActivity.class);
                    startActivity(i);
                    Position = 3;
                    break;
                case 4:
                    i = new Intent(MainActivity.this, TabActivity.class);
                    startActivity(i);
                    Position = 4;
                    break;
            }
        }
    });

并在切换循环中将其用于其他Fragment类中

  @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.activity_city, container, false);

    int position = new MainActivity().Position;

    ArrayList<CityScreenItem> city = new ArrayList<>();

    switch (position) {
        case 0:
            city.add(new CityScreenItem("Giza", "Giza is good",
                    R.drawable.dubai));
            break;
        case 1:
            city.add(new CityScreenItem("Dubai", "Dubai is good",
                    R.drawable.egypt));
            break;
    }


    CityScreenAdapter adapter = new CityScreenAdapter(getActivity(), city);
    ListView listView = rootView.findViewById(R.id.list);
    listView.setAdapter(adapter);

    return rootView;
}

但是当我检查这是由于int position = new MainActivity().Position;代码而始终无法找到答案时,它始终显示第一种情况请注意,我在课程开始时确实为Position公开了int

gagarwa:

您每次都在创建一个新对象:

int position = new MainActivity().Position;

这会将位置重置为您要设置的位置。将位置设为静态。

public static int POSITION = 0;

这应该可以解决您的问题。如下访问它:

int position = MainActivity.POSITION;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从一个块中获取对象并在另一个类或方法中使用它?

如何从一个类访问变量并在另一个类中使用它?

从一个函数中获取信息并在另一个函数中使用它

如何从一个有状态类中的文件加载数据并在 flutter 中的另一个有状态类中使用它?

如何获得一个valueEventListener()的结果并在另一个中使用它?

从一个下拉列表中获取选定的值以在另一个下拉列表中使用它

在一个事件中设置一个“ int”,并在另一个事件中使用它

从GUI获取价值并在另一个类中使用它

从 Click 事件方法获取变量并在另一个类中使用它

如何从另一个视图获取值并在同一活动中使用它?

如何保存字符串并在另一个类中使用它?

如何创建方法并在另一个类中使用它?

如何在另一个中使用一个可观察值?

在Electron 1.X版中,如何从一个BrowserWindow发出事件并在另一个BrowserWindow中使用它?

在函数中返回struct的值,并在另一个包中使用它

如何使用一个mysql查询的结果并在php中的另一个查询中使用它?

如何从sqlite android中的两列获取值并在另一个活动中使用它

如何从一个页面获取JavaScript并在另一页面的php中使用它

您如何从main方法中获取要在另一个类中使用的值?

在一个类中定义MySqlConnection并在另一个类中使用它来与DB一起使用

在 skimage 中,如何从一个生成的图像中获取 cmap,并在另一张图像中使用它?

从ViewController中的文本字段获取输入并在另一个类中使用

如何将方法从一个组件传递到另一个组件并在 Vue.js 中使用它?

如何使用另一个类从一个类中引用属性

获取回调值并在另一个异步函数中使用它

存储来自 DataFrame 行的值并在另一个操作中使用它们

在react Link中使用params并在另一个组件中获取其值?

导出一个组件的功能并在另一个组件中使用它

从一个数据框中的另一个中搜索值,并在相应的行/不同列中返回信息