【问题标题】:Displaying list values with each button click每次单击按钮时显示列表值
【发布时间】:2015-01-29 09:22:39
【问题描述】:

如何在每次单击按钮时显示列表项。假设列表中有 4 个名称。当我按下一步时,它会显示名字。然后,当您按下一步时,它会显示第二个名称,依此类推。

我认为唯一的方法是使用 list.get() 方法。但是我不知道如何使用该方法,以便它知道列表中有多少值并在每个按钮点击时显示。我想我需要使用 for 方法,但是我没有任何运气。

public class ZaidimasActivity extends ZaidejaiActivity {

    public TextView mPlayer;
    public TextView mKlausimas;
    public Button mNext;
    public Button mBack;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_zaidimas);
         /** //get the player list from ZaidejaiActivity
        Bundle recdData = getIntent().getExtras();
        String myVal = recdData.getString("playerList"); */

        Intent zaidejuInfo = getIntent();
        Bundle extrasBundle = zaidejuInfo.getExtras();
        final ArrayList<String> players = extrasBundle.getStringArrayList("playerList");

        //show the first players name

        mPlayer = (TextView)findViewById(R.id.ZaidejoVardas);
        players.size();

        mPlayer.setText(players.get(0));




        mNext = (Button)findViewById(R.id.KitasBtn);
        mNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                mPlayer.setText(players.get(1));


            }
        });


        mBack = (Button)findViewById(R.id.GryztiMeniuBtn);
        mBack.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent gryztiMeniu = new Intent(ZaidimasActivity.this, ZaidejaiActivity.class);
                startActivity(gryztiMeniu);
            }
        });
    }

【问题讨论】:

    标签: java android list


    【解决方案1】:

    在这里,维护一个用于存储全局数组索引的变量,并在每次单击按钮时递增它。

    private int count = 0; // Global array index. Make it as class field   
    
    final ArrayList<String> players = extrasBundle.getStringArrayList("playerList");
    
    
    
    mPlayer = (TextView)findViewById(R.id.ZaidejoVardas);
    players.size();
    
    mPlayer.setText(players.get(0));
    
    
    
    
    mNext = (Button)findViewById(R.id.KitasBtn);
    mNext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            count++;
            mPlayer.setText(players.get((count)%players.size())); //Incrementing global count and making sure it never exceeds the players list size
    
    
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-18
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多