需要有关文本视图、对话框、布尔语句和开关案例的帮助
Need help regarding textviews, dialogboxes, boolean statements, and switch cases
我想要的是让用户能够单击一个 TextView,然后弹出一个对话框,如果用户单击肯定按钮,则布尔值从 False 更改为 True。
用于使用应用内货币购买应用内商品。
示例:在TextView中,给出了项目名称,(Special Fruit),当点击TextView时弹出一个对话框,询问,你确定要购买这个项目吗? Yes/No。如果用户单击是并单击了 TExtView A,我希望布尔值 A 更改为 true,而默认值为 false。
这是目前为止的代码
public class ShopScreen extends AppCompatActivity {
private TextView TV1, TV2, TV3, TV4, TV5;
private boolean B1, B2, B3, B4, B5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shop_screen);
B1 = false;
B2 = false;
B3 = false;
B4 = false;
B5 = false;
TV1 = findViewById(R.id.TextOne);
TV2 = findViewById(R.id.TextTwo);
TV3 = findViewById(R.id.TextThree);
TV4 = findViewById(R.id.TextFour);
TV5 = findViewById(R.id.TextFive);
TV1.setText("Special Fruit");
TV1.setText("Apple Munch");
TV1.setText("Watermelon Pop");
TV1.setText("Passionfruit Blast");
TV1.setText("Strawberry Explosion");
TV1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase();
}
});
TV2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase();
}
});
TV3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase();
}
});
TV4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase();
}
});
TV5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase();
}
});
}
public void fruitPurchase () {
AlertDialog.Builder DBuild = new AlertDialog.Builder(ShopScreen.this);
LayoutInflater DInflater = ShopScreen.this.getLayoutInflater();
View DView = DInflater.inflate(R.layout.ao_dialog, null);
DBuild.setView(DView)
.setTitle("Confirm")
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton("Confirm", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Completely confused about what to do from here.
switch () {
case R.id.TV1;
// If TV1 was Selected, I want boolean B1 to change from false to true.
B1 = true;
break;
case R.id.TV2;
B1 = true;
break;
}
}
});
DBuild.show();
}
public void changeviews () {
if (B1 = true) {
TV1.setText("Sold Out");
TV1.setClickable(false);
}
}
如果您能提供任何帮助,我将不胜感激。
更改 fruitPurchase
使其接受 View
:
public void fruitPurchase (View view) {
//...
}
然后从点击侦听器内部传递视图:
TV1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase(v);
}
});
对所有 textview 点击侦听器执行上述操作。
然后按如下方式检查 switch case 中的视图 ID:
switch (view.getId()) {
case R.id.TextOne;
B1 = true;
break;
case R.id.TextTwo;
B2 = true;
break;
// and so on for other text views
}
我想要的是让用户能够单击一个 TextView,然后弹出一个对话框,如果用户单击肯定按钮,则布尔值从 False 更改为 True。
用于使用应用内货币购买应用内商品。
示例:在TextView中,给出了项目名称,(Special Fruit),当点击TextView时弹出一个对话框,询问,你确定要购买这个项目吗? Yes/No。如果用户单击是并单击了 TExtView A,我希望布尔值 A 更改为 true,而默认值为 false。
这是目前为止的代码
public class ShopScreen extends AppCompatActivity {
private TextView TV1, TV2, TV3, TV4, TV5;
private boolean B1, B2, B3, B4, B5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shop_screen);
B1 = false;
B2 = false;
B3 = false;
B4 = false;
B5 = false;
TV1 = findViewById(R.id.TextOne);
TV2 = findViewById(R.id.TextTwo);
TV3 = findViewById(R.id.TextThree);
TV4 = findViewById(R.id.TextFour);
TV5 = findViewById(R.id.TextFive);
TV1.setText("Special Fruit");
TV1.setText("Apple Munch");
TV1.setText("Watermelon Pop");
TV1.setText("Passionfruit Blast");
TV1.setText("Strawberry Explosion");
TV1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase();
}
});
TV2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase();
}
});
TV3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase();
}
});
TV4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase();
}
});
TV5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase();
}
});
}
public void fruitPurchase () {
AlertDialog.Builder DBuild = new AlertDialog.Builder(ShopScreen.this);
LayoutInflater DInflater = ShopScreen.this.getLayoutInflater();
View DView = DInflater.inflate(R.layout.ao_dialog, null);
DBuild.setView(DView)
.setTitle("Confirm")
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton("Confirm", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Completely confused about what to do from here.
switch () {
case R.id.TV1;
// If TV1 was Selected, I want boolean B1 to change from false to true.
B1 = true;
break;
case R.id.TV2;
B1 = true;
break;
}
}
});
DBuild.show();
}
public void changeviews () {
if (B1 = true) {
TV1.setText("Sold Out");
TV1.setClickable(false);
}
}
如果您能提供任何帮助,我将不胜感激。
更改 fruitPurchase
使其接受 View
:
public void fruitPurchase (View view) {
//...
}
然后从点击侦听器内部传递视图:
TV1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fruitPurchase(v);
}
});
对所有 textview 点击侦听器执行上述操作。
然后按如下方式检查 switch case 中的视图 ID:
switch (view.getId()) {
case R.id.TextOne;
B1 = true;
break;
case R.id.TextTwo;
B2 = true;
break;
// and so on for other text views
}