Android 使用适配器在Listview中打印行

Android 使用适配器在Listview中打印行,android,android-listview,listadapter,Android,Android Listview,Listadapter,每次按下按钮时,我都需要从ListView中的cm1和cm2行输出数据。行应显示在各种文本视图中 代码TEST.java: public String cm1; public String cm2; public class TEST extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

每次按下按钮时,我都需要从ListView中的cm1和cm2行输出数据。行应显示在各种文本视图中

代码TEST.java:

public String cm1;
public String cm2;

public class TEST extends Activity {
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        MyList = (ListView) this.findViewById(R.id.listStrings);
         setListAdapter();

        // button
        Button setup = (Button) this.findViewById(R.id.send);
        setup.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
        cm1 = "cm1text";
        cm2 = "cm2text";
        //xxxx
        }
        });
}

// adapter
private void setListAdapter() {
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
    R.layout.row //idknow what im must writehere to set cm1 string to cm1text tv
    List.setAdapter(adapter);
    }

也许你应该/可以做的就是拥有这个

String cm = cm1 + "\n" + cm2
哪些应该输出
cm1

cm2

然后将xml更改为只有一个textview和适配器代码,如下所示

ArrayList<String> listItems = new ArrayList<String>();
ArrayAdapter<String> aa = new ArrayAdapter<String>(this, R.layout.row, R.id.textViewCM, listItems);
yourListView.setAdapter(aa);

除非你有两个单独的文本视图,否则这应该可以满足你的要求。在这种情况下,你需要写一篇文章,如果你点击这个链接,我已经在我的网站上做了一点教程。

我做了一个类似于你要求的视频,可能会有所帮助。(是一个简单的应用程序,一个编辑文本、按钮和列表视图。按下按钮后,将文本添加到列表中)。它可能只有一个文本而不是两个,但你可以调整。你可以上传源吗?请男:)你的网站上的FizzBuzz是定制适配器的例子吗?是的,我需要两台电视,因为我需要设置它们的背景,改变文本大小,等等,我可以用简单的电视做什么。谢谢你的回答,兄弟!xD srry为我的糟糕的英语。我会尝试稍后提交答案,等待更多可能。正确,我给出了一个相当全面的运行如何实现一个。答案可能有点大。自定义适配器将解决您的问题。FizzBuzz可能为了避免2台电视,您可以演示如何添加一个字符串,但其中的文本(第行文本和第2行文本)的格式类似于html,或者只是颜色和粗体。。如果可能的话。。我正在尝试使用标准的电视道具,如本例中的下划线,但它不起作用(使用Html.fromHtml和String.format);不过,自定义适配器非常容易实现,而且可能比一个多行文本视图更好。:)big thanx我也可以尝试自定义适配器。
cm1
cm2
cm1
cm2
String cm = cm1 + "\n" + cm2
ArrayList<String> listItems = new ArrayList<String>();
ArrayAdapter<String> aa = new ArrayAdapter<String>(this, R.layout.row, R.id.textViewCM, listItems);
yourListView.setAdapter(aa);
// ...code to initialise/change cm
listItems.add(cm);
aa.notifyDataSetChanged(); // notifies listView to update it's view