所以我在gridview中有图像。这些图像显示在活动中。单击其中一个图像时,将使用此图像启动新活动。在此活动中,如果用户输入正确答案,则会启动新活动以指示答案是否正确。在用户输入正确答案后,我想在gridwiew中使用复选标记将此图像设置为更透明。如果用户再次点击这个正确的视图,我想显示相同的活动,表明它已被解决正确。我怎么能这样做?
这是我的活动,其中包含网格视图:
public class LogoSelectionActivity extends Activity {
.
.
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Intent intent = new Intent(LogoSelectionActivity.this, LogoActivity.class);
intent.putExtra ("clicked_position", position);
startActivity(intent);
}
以下是我的用户输入输入的活动:
public class LogoActivity extends Activity{
EditText text;
Button check;
Boolean a;
int id;
Names name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_logo);
check = (Button) findViewById(R.id.Check_button);
text = (EditText) findViewById(R.id.editText1);
ImageView view = (ImageView)findViewById(R.id.imageView1);
final ImageView incorrect = (ImageView)findViewById(R.id.incorrect);
switch (getIntent().getIntExtra ("clicked_position", -1))
{
case 0:
view.setImageResource(R.drawable.adese);
id = R.drawable.adese;
break;
case 1:
view.setImageResource(R.drawable.birvar);
id = R.drawable.birvar;
break;
case 2:
view.setImageResource(R.drawable.agaoglu);
break;
case 3:
view.setImageResource(R.drawable.akinsoft);
break;
default:
view.setImageResource(R.drawable.afra);
id = R.drawable.afra;
}
name = Names.forDrawable(id);
check.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
a=name.isCorrect(text.getText().toString());
if(a==true){
Intent intent = new Intent(LogoActivity.this, CorrectActivity.class);
startActivity(intent);
}
else{
incorrect.setVisibility(0);
incorrect.setVisibility(4);
}
}
});
}
}
我希望我能清楚地解释我的意图。
答案 0 :(得分:1)
有很多方法可以做到这一点。因为这不是问题,所以这是您在项目中需要的功能。
根据我的逻辑,我给你一个解决方案。
步骤:
在网格视图中创建一个具有项目长度的静态数组,默认值为0.
static int[] items = {0,0,0,...};
现在检查网格视图的getView
方法,其值是根据数组中的位置,如果它是0,那么它看起来会正常,否则它会看起来不同(这里你要透明检查你可以通过添加一个图像来获得它。)
If(items[position] == 0){
}else{
}
现在,当用户点击任何图像并导航到其他屏幕(假设活动B)时,该时间从该数组传递该位置的值,并检查活动B的OnCreate()
。
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Intent intent = new Intent(LogoSelectionActivity.this, LogoActivity.class);
intent.putExtra ("clicked_position", position);
intent.putExtra ("answered_or_not", items[position]);
startActivity(intent);
}
如果回答是指其值是否为1,则相应地显示其他情况。
当用户给出答案时,未答复的问题在该数组中使其值为1。
我希望它可以帮助您询问是否有任何问题。