Добавление оператора If в список или есть другой способ? - PullRequest
0 голосов
/ 10 марта 2019

У меня есть два варианта в списке (часть 1 и часть 2). Я хочу, чтобы каждый из них проигрывал свое видео. (с Youtube т. е.). как я это сделал? Если заявление или есть другой способ? это Mainacctivity2.

public class Main2Activity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    final String[] sublectures = {"Part 1","Part 2"};
    ListAdapter appadapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, sublectures);
    ListView list2 = findViewById(R.id.list2);
    list2.setAdapter(appadapter1);

    list2.setOnItemClickListener(
            new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    String lecture = String.valueOf(parent.getItemAtPosition(position));
                    Intent startintent = new Intent(getApplicationContext(),Main3Activity.class);
                    startActivity(startintent);

                }


            });
}}

Это относится к Mainacctivity 3. Т.е.

public class Main3Activity extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {

public static final String API_KEY = "<key here>";
public static final String VIDEO_ID = "W2TYS_Jvzjc";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main3);
    YouTubePlayerView youTubePlayerView = findViewById(R.id.youtubePlayerView);
    youTubePlayerView.initialize(API_KEY, this);
}

@Override

public void onInitializationFailure (YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult){
    Toast.makeText(this, "Fail to Load", Toast.LENGTH_LONG).show();

    }
    @Override
    public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {


        if (!wasRestored) {
            player.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
            player.cueVideo(VIDEO_ID);
        }
    }
}

1 Ответ

0 голосов
/ 11 марта 2019

Вместо sublectures, являющегося массивом строк, создайте пользовательский класс с именем Sublecture. В этом классе хранится название лекции (часть 1 или часть 2), а также URL-адрес соответствующего видео YouTube. Субтекстура буквально просто класс добытчиков и сеттеров. Затем вместо ArrayAdapter<String> создайте пользовательский ArrayAdapter <Sublecture>. Смотрите здесь:

Как использовать ArrayAdapter

То, что я описываю, на самом деле является одной из самых распространенных вещей, которые вы будете делать в Android, так что потратьте некоторое время и узнайте, как это сделать.

...