将 If 语句添加到列表视图还是有其他方法?
Adding If statement to list view or is there an other way?
我在列表视图中有两个选项(第 1 部分和第 2 部分)。我希望他们每个人播放不同的视频。 (来自 Youtube 即)。我怎么做? IF 语句还是有其他方法?这是 Mainactivity2。
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);
}
});
}}
这需要 Mainactivity 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);
}
}
}
创建一个名为 Sublecture
的自定义 class,而不是 sublectures
作为字符串数组。 class 存储讲座名称(第 1 部分或第 2 部分)以及相应 YouTube 视频的 URL。 Sublecture 实际上只是一个 class 的 getter 和 setter。然后,创建自定义 ArrayAdapter <Sublecture>
,而不是 ArrayAdapter<String>
。看这里:
How to use ArrayAdapter<myClass>
我所描述的实际上是您在 Android 中最常做的事情之一,因此请花一些时间学习如何做。
我在列表视图中有两个选项(第 1 部分和第 2 部分)。我希望他们每个人播放不同的视频。 (来自 Youtube 即)。我怎么做? IF 语句还是有其他方法?这是 Mainactivity2。
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);
}
});
}}
这需要 Mainactivity 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);
}
}
}
创建一个名为 Sublecture
的自定义 class,而不是 sublectures
作为字符串数组。 class 存储讲座名称(第 1 部分或第 2 部分)以及相应 YouTube 视频的 URL。 Sublecture 实际上只是一个 class 的 getter 和 setter。然后,创建自定义 ArrayAdapter <Sublecture>
,而不是 ArrayAdapter<String>
。看这里:
How to use ArrayAdapter<myClass>
我所描述的实际上是您在 Android 中最常做的事情之一,因此请花一些时间学习如何做。