Android 访问ListView中的行
我在更改listView中的TextView中保存的数据时遇到问题。 我可以访问数据并发送一篇文章,但是当 我改变它Android 访问ListView中的行,android,Android,我在更改listView中的TextView中保存的数据时遇到问题。 我可以访问数据并发送一篇文章,但是当 我改变它 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, preside
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, presidents));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
ListAdapter list_adapter = lv.getAdapter();
TextView var_x = (TextView) list_adapter.getView(0,null,null);
ListView list = getListView();
int count = list.getChildCount();
Toast.makeText(getApplicationContext(),(var_x).getText(),Toast.LENGTH_SHORT).show();
var_x.setText("not a president");
}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setListAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,总统));
ListView lv=getListView();
lv.setTextFilterEnabled(真);
ListAdapter列表_adapter=lv.getAdapter();
TextView var_x=(TextView)list_adapter.getView(0,null,null);
ListView list=getListView();
int count=list.getChildCount();
Toast.makeText(getApplicationContext(),(var_x).getText(),Toast.LENGTH_SHORT.show();
var_x.setText(“非总统”);
}
创建行后,如何更改行的文本/样式
感谢您的帮助试试这个:
adapter=new ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,总统)
setListAdapter(适配器)
//在列表中进行更改
adapter.notifyDataSetChanged();//刷新希望这能起作用
ArrayAdapter adapter = new ArrayAdapter<String>(this, ..., ...));
ListView resultList = (ListView) findViewById(R.id.resultList);
resultList.setAdapter(adapter);
TextView text = (TextView) adapter.getView(0, null, null); // as an example, use the first element in the list
Spannable str = (Spannable) text.getText();
str.setSpan(new StyleSpan(Typeface.BOLD), 0, str.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // whatever changes you want to make, this is just an example
ArrayAdapter adapter=新的ArrayAdapter(此,…);
ListView结果列表=(ListView)findViewById(R.id.resultList);
resultList.setAdapter(适配器);
TextView text=(TextView)adapter.getView(0,null,null);//例如,使用列表中的第一个元素
Spannable str=(Spannable)text.getText();
str.setSpan(新样式SPAN(Typeface.BOLD),0,str.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//不管你想做什么改变,这只是一个例子
谢谢,Sen
ListView列表=(ListView)findViewById(R.id.list);
adapter=新的MyAdapter(此,R.layout.main,
R.id.row_文本,
新字符串[]{“一”、“二”、“三”});
list.setAdapter(适配器);
//自定义适配器类
私有类MyAdapter扩展了ArrayAdapter{
字符串[]mStrings;
拉平机;
公共MyAdapter(上下文上下文、int资源、int textViewResourceId、,
字符串[]字符串){
super(上下文、资源、textViewResourceId、字符串);
mStrings=字符串;
mInflater=(LayoutInflater)FirstAct.this.getSystemService(Context.LAYOUT\u INFLATER\u SERVICE);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图=mInflater.充气(R.layout.main,null,false);
TextView text=(TextView)view.findViewById(R.id.row\u text);
setText(mStrings[position]);
Spannable str=(Spannable)text.getText();
str.setSpan(新样式SPAN(Typeface.BOLD),0,str.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
返回视图;
}
}
希望这段代码能给你更多关于如何掌握列表中每个元素的想法(比旧的有点复杂)。试着把你的评论发给我 谢谢,
SenSpannable str=(Spannable)text.getText();导致错误。您是否认为我在其他地方创建了R.id.resultlist?该语句是否与我对getListView()的调用有效地不同?再次感谢,我正在努力运行此代码。我有几个问题。R.id.list是从哪里来的,你认为是我在别处创建的吗?还有,第一幕是什么?
ListView list = (ListView) findViewById(R.id.list);
adapter = new MyAdapter(this,R.layout.main,
R.id.row_text,
new String[]{"one", "two", "three"} );
list.setAdapter(adapter);
//Custom Adapter class
private class MyAdapter extends ArrayAdapter<String>{
String[] mStrings;
LayoutInflater mInflater;
public MyAdapter(Context context, int resource, int textViewResourceId,
String[] strings) {
super(context, resource, textViewResourceId, strings);
mStrings = strings;
mInflater = (LayoutInflater) FirstAct.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = mInflater.inflate(R.layout.main,null, false);
TextView text = (TextView) view.findViewById(R.id.row_text);
text.setText(mStrings[position]);
Spannable str = (Spannable) text.getText();
str.setSpan(new StyleSpan(Typeface.BOLD), 0, str.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return view;
}
}