ListView点击Item为什么文字不会变色了,CheckBox 是黑色的

atm008 2014-12-17 10:18:26
今天新做了个页面,有个ListView,Item中包含CheckBox和TextView 结果发现点击Item文字不会变色,而且CheckBox竟然是黑色的,新建一个工程也一样。之前写的页面都没这些问题,看起来布局和代码都是一样的,大伙帮忙看一下怎么回事?
Item布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="60dip"
android:gravity="center_vertical"
android:background="#ffffff"
android:descendantFocusability="blocksDescendants" >

<TextView
android:id="@+id/tv_price_favorite_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="50dp"
android:text="aaa" />

<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tv_price_favorite_item"
android:layout_alignBottom="@+id/tv_price_favorite_item"
android:layout_alignParentLeft="true"/>

</RelativeLayout>

Activity布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >

<ListView
android:id="@+id/lv_favorite"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
</ListView>

</RelativeLayout>

JAVA代码
package com.example.shoptext;

import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
private String[] list = new String[] { "1", "2", "3" };

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listview = (ListView) findViewById(R.id.lv_favorite);
listview.setAdapter(new BaseAdapter() {

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
convertView = LayoutInflater.from(getApplicationContext())
.inflate(R.layout.favorite_item, null);
TextView tv = (TextView) convertView
.findViewById(R.id.tv_price_favorite_item);
try {
tv.setText(list[position]);
} catch (Exception e) {
// TODO: handle exception
Toast.makeText(getApplicationContext(), e.getMessage(),
Toast.LENGTH_SHORT).show();
}

return convertView;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list[position];
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return list.length;
}
});
listview.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), position + "",
Toast.LENGTH_SHORT).show();
}
});
}
}


...全文
156 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
atm008 2014-12-18
  • 打赏
  • 举报
回复
同一个APP的另一个页面用的完全一样的代码,背景也是白色的。就是新建的Activity都有这个问题,我感觉是主题Theme的问题,但是不知道怎么修改。现在只有自定义checkbox样式了。我用的是蛋疼的eclipse+adt,想问一下用Android Studio的兄弟们,Android Studio目前用起来方面吗?
dai_jiawei 2014-12-18
  • 打赏
  • 举报
回复
引用 3 楼 xj396282771 的回复:
还有就是我用的是你的源码 ,但是我手机显示出来得复选框仍旧是白色的,我的手机是小米2S。我想这个默认颜色应该与手机型号有关
你可以自定义成你要的样式啊。。不然你就用默认的。在不同的手机上看到的效果就未必是你想要的。
Jing丶無雙 2014-12-18
  • 打赏
  • 举报
回复
还有就是我用的是你的源码 ,但是我手机显示出来得复选框仍旧是白色的,我的手机是小米2S。我想这个默认颜色应该与手机型号有关
budworm 2014-12-18
  • 打赏
  • 举报
回复
我也发现了一楼的问题.
Jing丶無雙 2014-12-18
  • 打赏
  • 举报
回复
看了下楼主的代码,根本就没有设置字体颜色的代码。字体颜色当然就是默认的颜色了。以下红色字体部分为设置字体颜色。楼主看看: package app.example.test12_18; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private String[] list = new String[] { "1", "2", "3" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listview = (ListView) findViewById(R.id.lv_favorite); listview.setAdapter(new BaseAdapter() { @Override public View getView(int position, View convertView, ViewGroup parent) { convertView = LayoutInflater.from(getApplicationContext()) .inflate(R.layout.favorite_item, null); TextView tv = (TextView) convertView .findViewById(R.id.tv_price_favorite_item); try { tv.setText(list[position]); } catch (Exception e) { Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); } return convertView; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return list[position]; } @Override public int getCount() { // TODO Auto-generated method stub return list.length; } }); listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { TextView tv = (TextView) view .findViewById(R.id.tv_price_favorite_item); tv.setTextColor(Color.BLUE);// 设置字体颜色 Toast.makeText(getApplicationContext(), position + "", Toast.LENGTH_SHORT).show(); } }); } } <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="60dip" android:gravity="center_vertical" android:background="#ffffff" android:descendantFocusability="blocksDescendants" > <TextView android:id="@+id/tv_price_favorite_item" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_marginRight="50dp" android:textColor="#ff0033" android:text="aaa" /> <CheckBox android:id="@+id/checkBox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/tv_price_favorite_item" android:layout_alignBottom="@+id/tv_price_favorite_item" android:layout_alignParentLeft="true"/> </RelativeLayout>
Jing丶無雙 2014-12-18
  • 打赏
  • 举报
回复
不知道 。我eclipse用了快一年了 ,感觉挺好用的啊

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧