2011-10-21 8 views
2

私は一番下に一連のボタンとViewStubsの束を持っているアプリを作っています。すべてのボタンは1つのリスナーを指し、そのリスナーはidを切り替えることで、どのスタブを拡張するかを決定します。 ボタン1をクリックすると、以前のスタブの読み込みが取り消され、スタブ1が膨張します。ドラッグするとスタブ内のリストビューが黒くなります。

今、スタブ4ではリストビューが必要ですが、リストをドラッグすると問題があるようです。

私が持っている問題は、ドラッグするとリストビューが黒くなることです。

コードは次のとおりです。 package com.me.myapp; MainActivity.java

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.ViewStub; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.ListView; 

public class MainActivity extends Activity { 
    int stubNum; 

    /** Called when the activity is first created. */ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     if (savedInstanceState == null) { 
      doStuff((View) findViewById(R.id.button1)); 
     } 
    } 

    @Override 
    protected void onSaveInstanceState(Bundle outState) { 
     outState.putInt("stubNum", stubNum); 
     Log.d("Jason", "Saving stubNum is " + stubNum); 
     // TODO Auto-generated method stub 
     super.onSaveInstanceState(outState); 
    } 

    @Override 
    protected void onRestoreInstanceState(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onRestoreInstanceState(savedInstanceState); 
     stubNum = savedInstanceState.getInt("stubNum"); 
     Log.d("Jason", "Saved stubNum is " + stubNum); 
     if (findViewById(stubNum) != null) 
     { 
      ViewStub stub = (ViewStub) findViewById(stubNum); 
      View newView = stub.inflate(); 
      Button button1 = (Button) findViewById(R.id.Button01); 
      button1.setVisibility(Button.INVISIBLE); 

      Button button2 = (Button) findViewById(R.id.Button02); 
      button2.setVisibility(Button.VISIBLE); 
     } 
    } 

    // Implement the OnClickListener callback 
    public void doStuff(View v) { 
     setContentView(R.layout.main); 
     switch (v.getId()) { 
      case R.id.button1: 
       try 
       { 
        stubNum = 1; 
        ViewStub stub = (ViewStub) findViewById(R.id.stub1); 
        if (!(stub.getVisibility() == ViewStub.VISIBLE)) { 
         View newView = stub.inflate(); 
         Button button1 = (Button) findViewById(R.id.Button01); 
         button1.setVisibility(Button.INVISIBLE); 

         Button button2 = (Button) findViewById(R.id.Button02); 
         button2.setVisibility(Button.VISIBLE); 
        } 
        stubNum = stub.getId(); 
        Log.d("Jason", "stubNum is " + stubNum); 
       } 
       catch(NullPointerException e) 
       { 
        e.printStackTrace(); 
       } 
       break; 
      case R.id.button2: 
       try 
       { 
        stubNum = 2; 
        ViewStub stub = (ViewStub) findViewById(R.id.stub2); 
        if (!(stub.getVisibility() == ViewStub.VISIBLE)) { 
         View newView = stub.inflate(); 
         Button button1 = (Button) findViewById(R.id.Button01); 
         button1.setVisibility(Button.INVISIBLE); 

         Button button2 = (Button) findViewById(R.id.Button02); 
         button2.setVisibility(Button.INVISIBLE); 
        } 
        stubNum = stub.getId(); 
        Log.d("Jason", "stubNum is " + stubNum); 
       } 
       catch(NullPointerException e) 
       { 
        e.printStackTrace(); 
       } 
       break; 
      case R.id.button3: 
       try 
       { 
        stubNum = 3; 
        ViewStub stub = (ViewStub) findViewById(R.id.stub3); 
        if (!(stub.getVisibility() == ViewStub.VISIBLE)) { 
         View newView = stub.inflate(); 
         Button button1 = (Button) findViewById(R.id.Button01); 
         button1.setVisibility(Button.INVISIBLE); 

         Button button2 = (Button) findViewById(R.id.Button02); 
         button2.setVisibility(Button.INVISIBLE); 
        } 
        stubNum = stub.getId(); 
        Log.d("Jason", "stubNum is " + stubNum); 
       } 
       catch(NullPointerException e) 
       { 
        e.printStackTrace(); 
       } 
       break; 
      case R.id.button4: 
       try 
       { 
        stubNum = 4; 
        ViewStub stub = (ViewStub) findViewById(R.id.stub4);    
        if (!(stub.getVisibility() == ViewStub.VISIBLE)) { 
         View newView = stub.inflate(); 
         Button button1 = (Button) findViewById(R.id.Button01); 
         button1.setVisibility(Button.INVISIBLE); 

         Button button2 = (Button) findViewById(R.id.Button02); 
         button2.setVisibility(Button.INVISIBLE); 
        } 
        stubNum = stub.getId(); 
        Log.d("Jason", "stubNum is " + stubNum); 


       } 
       catch(NullPointerException e) 
       { 
        e.printStackTrace(); 
       } 
       break; 
      case R.id.button5: 
       try 
       { 
        stubNum = 5; 
        ViewStub stub = (ViewStub) findViewById(R.id.stub5); 
        if (!(stub.getVisibility() == ViewStub.VISIBLE)) { 
         View newView = stub.inflate(); 
         Button button1 = (Button) findViewById(R.id.Button01); 
         button1.setVisibility(Button.INVISIBLE); 

         Button button2 = (Button) findViewById(R.id.Button02); 
         button2.setVisibility(Button.INVISIBLE); 
        } 
        stubNum = stub.getId(); 
        Log.d("Jason", "stubNum is " + stubNum); 
       } 
       catch(NullPointerException e) 
       { 
        e.printStackTrace(); 
       } 
       break; 
      default: 
       stubNum = 1; 
       ViewStub stub = (ViewStub) findViewById(R.id.stub1); 
       if (!(stub.getVisibility() == ViewStub.VISIBLE)) { 
        View newView = stub.inflate(); 
       } 
       break; 
     } 
    } 
} 

main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:id="@+id/relativeLayout1" 
    android:layout_width="fill_parent" android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <LinearLayout android:layout_height="wrap_content" 
     android:id="@+id/linearLayout1" android:layout_width="match_parent" 
     android:layout_alignParentLeft="true" 
     android:gravity="center" android:layout_alignParentBottom="true"> 
     <ImageButton android:src="@drawable/download" android:id="@+id/button1" android:layout_width="60dp" android:layout_height="40dp" android:layout_margin="2dip" android:onClick="doStuff"></ImageButton> 
     <ImageButton android:src="@drawable/download" android:id="@+id/button2" android:layout_width="60dp" android:layout_height="40dp" android:layout_margin="2dip" android:onClick="doStuff"></ImageButton> 
     <ImageButton android:src="@drawable/download" android:id="@+id/button3" android:layout_width="60dp" android:layout_height="40dp" android:layout_margin="2dip" android:onClick="doStuff"></ImageButton> 
     <ImageButton android:src="@drawable/download" android:id="@+id/button4" android:layout_width="60dp" android:layout_height="40dp" android:layout_margin="2dip" android:onClick="doStuff"></ImageButton> 
     <ImageButton android:src="@drawable/download" android:id="@+id/button5" android:layout_width="60dp" android:layout_height="40dp" android:layout_margin="2dip" android:onClick="doStuff"></ImageButton> 
    </LinearLayout> 
    <RelativeLayout android:id="@+id/relativeLayout2" 
     android:layout_height="wrap_content" android:layout_width="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" android:layout_above="@+id/linearLayout1" 
     android:background="#ffffff" android:layout_below="@+id/relativeLayout3"> 
     <ViewStub android:id="@+id/stub1" 
       android:inflatedId="@+id/subTree" 
       android:layout="@layout/myvarsity" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" /> 

     <ViewStub android:id="@+id/stub2" 
       android:inflatedId="@+id/subTree" 
       android:layout="@layout/livestream" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" /> 

     <ViewStub android:id="@+id/stub3" 
       android:inflatedId="@+id/subTree" 
       android:layout="@layout/shows" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" /> 

     <ViewStub android:id="@+id/stub4" 
       android:inflatedId="@+id/subTree" 
       android:layout="@layout/more" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" /> 

     <ViewStub android:id="@+id/stub5" 
       android:inflatedId="@+id/subTree" 
       android:layout="@layout/settings" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" /> 
    </RelativeLayout> 
    <RelativeLayout android:id="@+id/relativeLayout3" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_width="match_parent" android:gravity="center_horizontal"> 
      <Button android:id="@+id/Button02" android:text="Customize" android:layout_height="40dp" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentRight="true"></Button> 
      <Button android:id="@+id/Button01" android:text="Back" android:layout_height="40dp" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"></Button> 
      <TextView android:id="@+id/textView1" android:text="App" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="wrap_content" android:layout_centerVertical="true" android:layout_centerHorizontal="true"></TextView> 
     </RelativeLayout> 
</RelativeLayout> 

more.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/relativeLayout1" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:gravity="center_horizontal"> 
    <RelativeLayout android:id="@+id/relativeLayout2" 
     android:layout_height="wrap_content" android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" android:layout_width="match_parent"> 
     <ListView android:id="@+id/moreList" 
      android:layout_centerVertical="true" android:layout_width="match_parent" 
      android:layout_alignParentLeft="true" android:layout_height="match_parent"></ListView> 
    </RelativeLayout> 
    <TextView android:id="@+id/textView1" android:textColor="#000000" 
     android:text="Morelistview" android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:layout_width="wrap_content" android:layout_below="@+id/relativeLayout2" 
     android:layout_alignParentLeft="true"></TextView> 
</RelativeLayout> 

more_list_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <TextView android:text="" android:id="@+id/moreItem" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> 

</RelativeLayout> 

答えて

3
android:cacheColorHint = "#00000000" 

あなたのlistViewにこのタグを使用します。または

をプログラムで設定することもできます。

+0

クマさん、ありがとう!私はオリエンテーションの変更にも問題がありますが、私はそれに取り組んでいきます。御時間ありがとうございます!! – OrhanC1

関連する問題