1

私はこのコードに取り組んでいますが、android.R.layout.simple_list_item_multiple_choice が原因で背景が白くなっています。テキストの色を変更できないため、行で ligible になります。カスタム行 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();         
                }
            });               
        }



}

例またはスニペットでこれについて私を助けてください、私は長い間ここで打たれています.Thanks

4

2 に答える 2

1

ご覧のとおりArrayAdapter、最初の引数としてレイアウトリソースIDを取ります。つまり、自分のレイアウトを含め、そこに任意のレイアウトを渡すことができます。したがって、解決策は、独自のレイアウトを作成してここに渡すことです。

在庫がどのように実装されているかを知りたい場合は、こちらをご覧ください。

または、ビューへの参照を取得して、その背景色を手動で変更することもできます(または、アプリ内のこれらすべてのアイテムが同じ背景色を共有している場合は、スタイルを介して変更することもできます)。

ちなみに、あなたはリストベースのアクティビティに参加しているようです。継承してみませんListActivityか?

于 2012-01-05T12:50:09.343 に答える
0

リスト行を表示するためのカスタム レイアウトを作成する必要があります。ListView の例を参照してください

于 2012-01-05T12:55:25.337 に答える