[英]alertdialog item is selected, then change the color of Textview when OK is pressed
我有一个textview,当我单击它时,将打开一个警报选择项,并允许我们选择包含OK和Cancel按钮的项目。 现在,如果我在alertdialog multichoice中选择了任何项目,则我的textview颜色需要更改。 我知道选择器,但是当所选项目更改textview颜色时,如何使用它。
我的textview XML:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:orientation="horizontal"
android:id="@+id/linearLayout1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/genere"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/genere"
android:layout_gravity="center"
android:text=" Search Genre"
android:textSize="20sp"
/>
</LinearLayout>
然后
Views mViews = new Views();
mViews.genere.setOnClickListener(this);
public void onClick(View v) {
switch (v.getId()){
case R.id.genere:
ilist();
break;
列出:
public ArrayList<String> ilist() {
final String[] ratings = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
final boolean[] ratingschecked = {false, false, false, false, false, false, false, false, false, false};
SharedPreferences sharedPreferences = this.getSharedPreferences("checkedrate_i", Context.MODE_PRIVATE);
final SharedPreferences.Editor editor = sharedPreferences.edit();
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Ratings");
builder.setMultiChoiceItems(ratings, ratingschecked, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked) {
if(!ilist.contains(ratings[which])){
ilist.add(ratings[which]);
}
} else if (ilist.remove(ratings[which])) {
if(ilist.contains(ratings[which])){
ilist.remove(ratings[which]);
}
}
}
}).setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
for (int i = 0; i < ilist.size(); i++) {
editor.putString("selectedratings" + i, String.valueOf(ilist.get(i)));
}
editor.putInt("size", ilist.size());
editor.apply();
}
}).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog dialog = builder.create();
builder.show();
return ilist;
}
尝试使用选择器,但无法使用。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#fff6ff57"/>
<item android:state_activated="true" android:color="#ffff1013"/>
<item android:color="#ff897fff" />
</selector>
创建一个全局TextView
对象( oncreate
方法之外)
TextView txt_view;
然后在onCreate方法中初始化:
txt_view = findViewById(R.id.genere);
然后在txt_view
上设置onclick监听txt_view
(初始化后)
txt_view.chat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ilist();
}
});
然后在onclick侦听器中添加警报对话框的肯定按钮
txt_view.setColor(getResources().getColor(R.color.color_name));
您仍然可以使用getResources().getColor(R.color.color_name)
但现在已被getResources().getColor(R.color.color_name)
,有关新方法,请参见此处 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.