私はリストビューを持っています。この設定は、その前のレベルを終了するまで次のレベルに進むことができないロゴゲームの推測のようなものです。私はすでに一晩中検索していて、リストビューで他のアイテムを無効にすることに関する例と質問を見つけましたが、私の問題で使用できる具体的な答えを見つけることができません。今、私は尋ねています。リストビューで他のアイテムを無効にする方法は?そして、それらの前のレベルが完了した場合にそれらを有効にします。また、sqliteデータベースから「レベルステータス」を取得することによってこれを達成しようとしています。
これは、ListActivityを拡張するjaveコードです。
static final String[] LEVELS = new String[] { "Level 1", "Level 2", "Level 3",
"Level 4", "Level 5", "Level 6", "Level 7", "Level 8", "Level 9", "Level 10" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this, R.layout.activity_play, LEVELS));
final ListView listView = getListView();
listView.setTextFilterEnabled(true);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(
AdapterView<?> parent, View v, int position, long id) {
//Toast.makeText(getApplicationContext(), ((TextView) v).getText(), Toast.LENGTH_SHORT).show();
switch(position) {
case 0:
Intent lvlOne = new Intent(".LevelOneActivity");
startActivity(lvlOne);
break;
case 1:
Intent lvlTwo = new Intent(".LevelTwoActivity");
startActivity(lvlTwo);
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8:
break;
case 9:
break;
default:
break;
}
}
});
}