1

The new Boston http://www.youtube.com/watch?v=zjHYyAJQ7Vw&list=EC2F07DBCDCC01493Aのビデオ チュートリアルからリストメニューを使って簡単なアプリを 作成しています。そのレッスンでは、このリストメニューをレイアウトなしで作成します。メニューはアクティビティにありますが、メニューにテキストが表示されません。メニューオプションの1つを押すと、テキストが表示されます。AVD またはスマートフォンでアプリを実行すると、背景は常に白になります。

layout.xml を使用せずにアクティビティで listmenu を作成するときに、背景色とテキストの色を変更する方法はありますか? それとも他に何か間違っている可能性がありますか?いくつかの助けを大切にします。ありがとう!

編集: アクティビティの背景色なのか、メニューのボタンなのかわかりませんか?すべて白で、テキストも白ですが、メニューのオプション間に灰色の線があります。リストビューでxmlレイアウトファイルを使用していないため、以下の回答が機能するかどうかわかりませんか? おそらく、代わりに xml lyaout ファイルを使用する方がよいでしょうか? さらに助けてください!

編集:いくつかのコードを追加しました:

public class Menu extends ListActivity{

String classes[] = {"MainActivity", "Example1", "Example2"};

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setListAdapter(new ArrayAdapter<String>(Menu.this,android.R.layout.simple_dropdown_item_1line, classes));
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    String selectedClass = classes[position];
    try{
    Class ourClass = Class.forName("com.test.theNewBoston." + selectedClass);
    Intent ourIntent = new Intent(Menu.this, ourClass);
    startActivity(ourIntent);
    }catch(ClassNotFoundException e){
        e.printStackTrace();
    }
}

}

4

4 に答える 4

1

私の意見では、ListActivity よりも通常のアクティビティを使用する方が適切です。

ListView list  = (ListView)findViewById(R.id.listView1);

list.setOnItemClickListener(new OnItemClickListener() {
    @Override
    //ListView parent, View v, int position, long id 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        arg1.setBackgroundColor(Color.RED);
    }
});

次のように背景色を設定できます。

list.setBackgroundColor(Color.BLUE);
于 2013-02-04T13:29:46.287 に答える
1

セレクターを適用してこのようにしてみてください。背景色を変更するのに役立ちます。

 <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">

        <item android:drawable="@color/pink" android:state_pressed="true"/>

        <item android:drawable="@android:color/transparent"/>

    </selector>
于 2013-02-04T13:34:41.307 に答える
0
public class HttpEx extends ListActivity {

    String options[] = {"BasicConnect","ConnectToSql","TBA","TBA",
                        "TBA","TBA"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setListAdapter(new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1, options));
        getListView().setBackgroundColor(Color.BLACK); //add this code into the onCreate
    }

これは、ListActivity の背景色を変更する方法です。getListView().setBackgroundColor(Color.BLACK); // このコードを onCreate に追加します

于 2016-01-30T06:04:20.150 に答える
-1

このようにJavaのリストビューの背景を変更できます

yourlistview.setBackgroundColor(color)

各項目をクリックすると、次の 2 つの方法でListView変更できます。BG

初め。これをあなたのリストに追加しitem click listenerてください:ListView

list.setOnItemClickListener(new OnItemClickListener() {
    @Override
    //ListView parent, View v, int position, long id 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        arg1.setBackgroundColor(Color.Black);
    }
});

2番。に使用Adapterしてから、 for each アイテムListViewに clicklistener を追加しますGetView

最初の方法が良いと思います

于 2013-02-04T13:20:26.157 に答える