0

アプリケーションにサイド メニューを実装しようとしていますが、ほとんどの場合問題なく動作しますが、メニューを表示してリスト全体を下にスクロールしようとすると、白 (背景) になり、テキストが消えるという問題があります。

http://i.imgur.com/6a6TgJJ.png

http://i.imgur.com/ykT7hCN.png

上に、メニューの動作を示す 2 つの写真を添付し​​ます。指を左から右にスライドさせると、サイド メニューが表示されますが、メニューを下にスクロールすると、空の白いリストになります。これが私のコードです。

public class ControlApp extends SlidingActivity{

ArrayList<String> datos ;
ArrayAdapter<String> adaptador;
Intent intent;
private String[] mMenuLista;
//  private MyCustomAdapter mAdapter;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_notificaciones);
    setBehindContentView(R.layout.activity_menu);

    Parse.initialize(this, "BqCCNsbb14MPgeWz3rznxO4DamuXUbsgiTug8P8I", "9j7GSLWnV46fkPsNMwnMD2FormAiclKlGitfDq2b"); 
    ParseAnalytics.trackAppOpened(getIntent());

    getSlidingMenu().setBehindOffset(100);

//      mAdapter = new MyCustomAdapter();



    PushService.setDefaultPushCallback(this, Notificaciones.class);
    ParseInstallation.getCurrentInstallation().saveInBackground();

    mMenuLista =  getResources().getStringArray(R.array.lista_menu);
//      for(int i=0; i<=9;i++){
//          mAdapter.addItem(mMenuLista[i]);
//          if(i == 9){
//              mAdapter.addSeparatorItem(mMenuLista[i]);
//          }
//      }



    ListView primario = (ListView) findViewById(R.id.left_drawer);
    primario.setAdapter(new ArrayAdapter<String>(this,R.layout.drawer_list, mMenuLista));



    primario.setOnItemClickListener(new OnItemClickListener() { 
        @Override
        public void onItemClick(AdapterView<?> pariente, View view, int posicion, long id) {

            selectItem(posicion);

        }
    });





}

public void selectItem(int posicion){
    switch (posicion) {
    case 0:
        intent = new Intent(ControlApp.this, Notificaciones.class);
        startActivity(intent);
        break;
    case 1:
        intent = new Intent(ControlApp.this, Calificaiones.class);
        startActivity(intent);
        break;
    case 2:
        intent = new Intent(ControlApp.this, Mensajes.class);
        startActivity(intent);
        break;
    case 3:
        intent = new Intent(ControlApp.this, Citas.class);
        startActivity(intent);
        break;
    case 4:
        intent = new Intent(ControlApp.this, Permisos.class);
        startActivity(intent);
        break;
    case 5:
        intent = new Intent(ControlApp.this, Eventos.class);
        startActivity(intent);
        break;
    case 6:
        intent = new Intent(ControlApp.this, Horarios.class);
        startActivity(intent);
        break;
    case 7:
        intent = new Intent(ControlApp.this, Circulares.class);
        startActivity(intent);
        break;
    case 8:
        intent = new Intent(ControlApp.this, ProgramaDeEstudios.class);
        startActivity(intent);
        break;
    case 9:
        intent = new Intent(ControlApp.this, Ajustes.class);
        startActivity(intent);
        break;
    case 10:

        ParseUser.logOut();
        ParseUser currentUser = ParseUser.getCurrentUser();
        if (currentUser == null){
            // sesion cerrada correctamente
            Toast toast = Toast.makeText(getApplicationContext(), "Sesión cerrada correctamente", Toast.LENGTH_SHORT);
            toast.show();
            Intent regis = new Intent (ControlApp.this, MainActivity.class);
            startActivity(regis);
            finish();
        }else{
            Toast toast = Toast.makeText(getApplicationContext(), "No se logro cerrar sesion, intentelo de nuevo", Toast.LENGTH_SHORT);
            toast.show();

        }
        break;

    default:
        break;
    }

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}



}

エラーを修正できるように、誰かが間違いを見つけるのを手伝ってくれることを願っています。ありがとうございました!!!

4

1 に答える 1

2

メニューの背景色を手動でListView黒に設定していると思いますが、メインのアクティビティ テーマの背景は白ですか?

リストの背景色と一致するようにのandroid:cacheColorHint属性を設定する必要があります。スクロール中にその値を使用してリストをすばやく再描画するListViewAndroid によるレンダリングの最適化により、白が表示されます。cacheColorHint

この問題について詳述した良いブログ投稿を一度読みました。今は見つけられませんが、見つけたらリンクします:)

于 2013-07-09T23:45:29.267 に答える