我的应用中有一个包含50部电影的列表视图。当用户点击列表视图中的电影时,alpha会从1f变为0.2f。我想设置它,以便当我退出活动和应用程序本身时,列表视图中已被点击的项目在重新打开时将保持在0.2f,以便用户知道他们观看的列表中的哪些电影。任何帮助将不胜感激。
这是我的代码:
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, topMovies);
moviesListView.setAdapter(arrayAdapter);
final MediaPlayer mPlayer = MediaPlayer.create(this,R.raw.pindrop);
moviesListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (view.getAlpha() == 1f) {
mPlayer.start();
Toast.makeText(getApplicationContext(), "You Watched " + topMovies.get(position), Toast.LENGTH_LONG).show();
view.animate().alpha(0.2f);
} else {
view.animate().alpha(1f);
}
}
});
答案 0 :(得分:0)
我建议你做一些不同的事情。 在drawable文件夹中创建一个选择器 selector.xml
drawable_selected.xml
<shape>
<solid color="enter your color here"/>
</shape>
drawable_unselected.xml
<shape>
<solid color="enter your color here" />
</shape>
selector.xml
<selector>
<item android:stateSelected="true" android:drawable="@drawable/drawable_selected"/>
<item android:state_selected="false" android:drawable="@drawable/drawable_unselected"/>
</selector>
然后定义您的视图背景
view.setBackground(getResources().getDrawable(R.drawable.selector);
然后选择视图时
view.setSelected(true);
它会自动更改您的背景。希望这会有所帮助。