2

selectedPlayerを他のクラスのpositionの値に設定するにはどうすればよいですか?

ここで同様の質問をたくさん読みましたが、変数や関数との競合が発生し続けています。

ScoreList.java

public class ScoreList extends Activity {

    Integer selectedPlayer = 0;
}

ScoreListAdapter.java

public class ScoreListAdapter extends ArrayAdapter<Score> {

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        final OnClickListener lsScoreView = new OnClickListener() {
              @Override
                public void onClick(View v) {
                  //send position to main class here
              }
        };

    }
}
4

2 に答える 2

6

selectedPlayer を静的に設定します。

public class ScoreList extends Activity {

  static Integer selectedPlayer = 0;
}

このように、selecterPlayer はクラスのどのオブジェクトにも属していないため、クラス名を使用して参照できます。

ScoreListAdapter.java

    public class ScoreListAdapter extends ArrayAdapter<Score> {

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {

            final OnClickListener lsScoreView = new OnClickListener() {
                  @Override
                    public void onClick(View v) {
                       ScoreList.selectedPlayer;//You can use selectedPlayer here
                  }
            };

        }
    }
于 2013-01-13T22:49:44.100 に答える
0

オプション...

  1. ScoreListコンストラクターにパラメーターとして渡し、でScoreListAdapter参照できるインスタンス変数として設定しますScoreListAdapter.getView

  2. ScoreListパラメータとしてgetViewメソッドに渡します。

于 2013-01-13T22:56:08.093 に答える