我想在单击每个项目时更改textview的背景。我在XML文件上没有TextView。我通过数组适配器添加了文本。 我已经在互联网上搜索了解决方案,并在stackoverflow上查看了大多数解决方案,但仍然没有解决方案。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_genel);
final VideoView videoview = findViewById(R.id.Videogenel);
listView = (ListView) findViewById(R.id.lgvideo);
videoList= new ArrayList<>();
videoList.add("1: Genel Bilgiler");
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,videoList);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position){
case 0:
videoview.setVideoPath("/storage/A6D3-E544/videos/genel1.mp4");
break;
}
final MediaController mediacontroller = new MediaController(Genel.this);
mediacontroller.setAnchorView(videoview);
videoview.setMediaController(mediacontroller);
videoview.requestFocus();
videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
videoview.setMediaController(mediacontroller);
mediacontroller.setAnchorView(videoview);
}
});
}
});
videoview.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.d("API123", "What " + what + " extra " + extra);
return false;
}
});
videoview.setMediaController(mediaController);
videoview.start();
}
});
}
答案 0 :(得分:0)
尝试在列表视图上添加onItemClickListner,如果它不起作用,那么我认为默认ArrayAdapter类是不可能的。因此,创建您自己的适配器类并使用BaseAdapter或ArrayAdapter对其进行扩展,可以搜索示例。 那么您可以通过在ListView上添加onItemClickListner来更改Item的背景。
答案 1 :(得分:0)
我认为您应该自己制作CustomAdapter,然后可以在此适配器内为TextView设置onClickListener
或为listView like here设置onItemClickListner
。>
答案 2 :(得分:0)
尝试一下: 创建选择器颜色文件res / color / selector_txt.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="@color/color1"/>
<item android:state_pressed="true" android:state_enabled="false" android:color="@color/color2" />
<item android:state_enabled="false" android:color="@color/color3" />
<item android:color="@color/color4"/>
</selector>
创建新的布局文件:list_item.xml。
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/selector_txt"
android:textSize="15sp"
/>
然后替换阵列适配器的布局。
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,R.layout.list_item,videoList);