でない場合、私は行としてcheckedTextview項目とリストビューを持ってクリックします。リストビューはナビゲーションドロワーのレイアウトです。私が達成しようとしている何無効にListView項目は、ユーザがプレミアムユーザー
は、彼らがプレミアムでない場合は、Playストア]ダイアログボックスを表示し、それらをチェックの状態を変更することはできませんではない、です。プレミアムの場合は、プレミアムダイアログボックスを表示せず、チェックボックスの状態を変更できるようにします。
/他のいくつかの異なる場所であれば、私は、彼らはプレミアムあるかどうかをチェックしてみましたが、私はまだチェックボックスの状態をクリックして、変更することができたので、それは動作しませんでした。
リストビュー内の項目では、プレミアムユーザーにクリッカブル/できる唯一のアクセスです。プレミアムでない場合、リストアイテムをクリックすると、Google Playのダイアログボックスがアップグレードを促します。私はlistvivew.setEnabled(false)とsetClickable(false)と.invalidate()の設定のような異なるオプションの多くを試してみました。 とりわけnothingsは今まで働いた。
private void addDrawerItems() {
String[] osArray = {"Bluetooth", "Reply to Calls", "Reply to sms", "customise message"};
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, osArray);
mDrawerList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
mDrawerList.setAdapter(mAdapter);
mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CheckedTextView ctv = (CheckedTextView) view;
switch (position) {
case 0:
if (ctv.isChecked()) {
Toast.makeText(getApplicationContext(), "Bluetooth On", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Bluetooth OFF", Toast.LENGTH_LONG).show();
}
break;
case 1:
if (ctv.isChecked()) {
Toast.makeText(getApplicationContext(), "Calls Reply On", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Calls Reply OFF", Toast.LENGTH_LONG).show();
}
break;
case 2:
if (ctv.isChecked()) {
Toast.makeText(getApplicationContext(), "Sms Reply On", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Sms Reply OFF", Toast.LENGTH_LONG).show();
}
break;
case 3:
Toast.makeText(getApplicationContext(), "Customised Message", Toast.LENGTH_LONG).show();
break;
}
}
});
}
!What my Navigation Drawer Looks like1
チェック状態を制御する前に条件を追加するだけですか? (場合(userUsesPremiumVersion){オープンダイアログ}他{!クリック} - またはプレミアムユーザを識別して、あなたが悩みを持っています – yennsarah
「彼らはプレミアムでないならば、彼らは、リスト項目をクリックすると、Googleは、ダイアログボックスを再生するようにユーザに促すだろうか?あなたがそれを無効にしたいのですか? – 0X0nosugar
私が達成しようとしているのは、プレミアムではない場合、プレイストアダイアログボックスをプロンプトし、プレミアムの場合はプレミアムダイアログボックスを表示せず、チェックボックスの状態を変更できるようにしてください –