我正在处理此代码,但是由于android.R.layout.simple_list_item_multiple_choice我有白色背景我无法更改文本颜色,以便它在行中是合格的。如何为自定义行xml更改它,这是我的代码。

    public class AndroidListViewActivity extends Activity
{
    ListView myList;
    Button getChoice;
    String[] listContent = {"January","February","March","April","May","June","July","August","September","October","November", "December"};
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        myList = (ListView)findViewById(R.id.list);
        getChoice = (Button)findViewById(R.id.getchoice);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,listContent);
        myList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        myList.setAdapter(adapter);
        getChoice.setOnClickListener(new Button.OnClickListener(){
            @Override
            public void onClick(View v)
            {
                // TODO Auto-generated method stub
                String selected = "";
                int cntChoice = myList.getCount();
                SparseBooleanArray sparseBooleanArray = myList.getCheckedItemPositions();
                for(int i = 0; i < cntChoice; i++)
                {
                    if(sparseBooleanArray.get(i))
                    {
                        selected += myList.getItemAtPosition(i).toString() + "\n";
                        }
                    }
                Toast.makeText(AndroidListViewActivity.this, selected,Toast.LENGTH_LONG).show();
                }
            });
        }



}


请通过示例或摘要帮助我,我在这里很长时间了。谢谢

最佳答案

如您所见,ArrayAdapter将布局资源ID作为第一个参数。这意味着您可以在那里传递任何布局,包括您自己的布局。因此,解决方案是编写您自己的布局并在此处传递。

如果您想知道库存的实施方式,请查看here

另外,您可以检索对视图的引用并手动更改其背景颜色(如果应用程序中的所有这些项目都共享相同的背景颜色,则可以更改其背景颜色)。

顺便说一句,您似乎处于基于列表的活动中。为什么不继承ListActivity

关于android - 如何在Android的“多项选择”行中使用自定义行而不是android.R.layout.simple_list_item_multiple_choice?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8742529/

10-11 14:32