列表视图上的IF语句

时间:2018-03-04 15:34:35

标签: java android

有人可以帮我改变我的IF语句,以获取列表视图中的细节而不是列表视图的位置吗?列表视图将显示三个细节,可在下图中看到。

listViewSaves.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

            if (position == 0) {
                Intent myIntent = new Intent(MainActivity.this, Game_500.class);
                MainActivity.this.startActivity(myIntent);
            }
            if (position == 1) {
                Intent myIntent = new Intent(MainActivity.this, Game_1000.class);
                MainActivity.this.startActivity(myIntent);
            }
            if (position == 2) {
                Toast.makeText(getApplicationContext(), "Your toast message3.",
                        Toast.LENGTH_SHORT).show();
            }
        }
    });

检查下面的图像以获取列表视图的示例

An example of the list view

检查下图,了解列表视图的填充方式

How the list view is populated

我希望listview打开自己的活动。例如,如果列表视图显示(游戏)和(低于500) - 打开Game_500.class

如果列表视图具有(游戏)和(低于1000)-open Game_1000.class

通过要求用户从2个选项中进行选择来填充列表视图。系统类型 - 游戏个人使用以及系统价格 - 低于500 低于1000 。< / p>

2 个答案:

答案 0 :(得分:0)

试试这个:

调用Intent时,应将类的名称用作包名称的字符串。因此,如果您的类被调用Game_1000并且在mypackage.tests包中,那么您应该使用:

Intent myIntent = new Intent(MainActivity.this, Class.forName("mypackage.tests.Game_1000"));
MainActivity.this.startActivity(myIntent);

答案 1 :(得分:0)

将此代码用于ListView setOnItemClickListener。在这里,你必须从列表中取出RigSaves对象,并检查它是否符合你的标准。

listViewSaves.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

        RigSaves rigSaves = savesList.get(position);

         // Gaming option 
        if( rigSaves.getRigType().equals("Gaming") && rigSaves.getRigPrice().equals("Under 500") ){
        Intent myIntent = new Intent(MainActivity.this, Game_500.class);
        startActivity(myIntent);
        }

        if( rigSaves.getRigType().equals("Gaming") && rigSaves.getRigPrice().equals("Under 1000") ){
        Intent myIntent = new Intent(MainActivity.this, Game_1000.class);
        startActivity(myIntent);
        }

        // personal option 
        if( rigSaves.getRigType().equals("Personal Use") && rigSaves.getRigPrice().equals("Under 500") ){
          // start activity you want to start
        }

        if( rigSaves.getRigType().equals("Personal Use") && rigSaves.getRigPrice().equals("Under 1000") ){
           // start activity you want to start
        }

    }
});

希望它对你有所帮助。如果您遇到任何问题,请告诉我