Android 访问ListView中的行

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

我在更改listView中的TextView中保存的数据时遇到问题。 我可以访问数据并发送一篇文章,但是当 我改变它

 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);
返回视图;
}
}
希望这段代码能给你更多关于如何掌握列表中每个元素的想法(比旧的有点复杂)。
试着把你的评论发给我

谢谢,

Sen

Spannable 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;
    }

}