2

如何将 selectedPlayer 设置为其他班级的位置值?

我在这里阅读了一堆类似的问题,但我一直遇到与我的变量和函数的冲突。

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 回答