android - 在同一 Activity 中,单击按钮单击,保持或者更改值

  显示原文与译文双语对照的内容
0 0

在代码代码中,我将新值传递给同一个 Activity ( OneActivity ),但是当我单击该按钮时,它似乎打开了一个新的Activity ( 刷新屏幕) 。 如何修改以下代码以维护 Activity,并在单击按钮时不刷新它?


final Button fruit_q = (Button) findViewById(R.id.fruit_q);
fruit_q.setOnClickListener(new OnClickListener()//Next step
 {
 public void onClick(View v)
 {
 Intent i = new Intent(getApplicationContext(), OneActivity.class);

 if(position!= 35)//35 is end of index in gridview array
 {
//passing array index
 String name = getResources().getResourceEntryName(imageAdapter.mThumbIds[position+1]);
 i.putExtra("image_name", name);
 i.putExtra("id", position+1);
 i.putExtra("rememberID_frist", firstTimeID_1);
 i.putExtra("rememberID_second", position+1);
 whatfruit.stop();
 correctAnswer.stop();
 }
 else//ber sin chea answer dol index 35 hery jang back to index 0
 {
//passing array index
//String name = getResources().getResourceEntryName(imageAdapter.mThumbIds[position+1]);
 i.putExtra("image_name","apple");
 i.putExtra("id", 0);
 i.putExtra("rememberID_frist", firstTimeID_1);
 i.putExtra("rememberID_second", 0);
 whatfruit.stop();
 }
 startActivity(i);
 }
 });

谢谢!

时间: 原作者:

0 0

看来你只是想增加在点击按钮和位置 NOT 35的位置的值。 由于将四个值作为IntentExtras传递,请尝试以下操作:

创建作为附加项传递的四个值,也作为 Activity 中的全局变量。 你可以在 onCreate() 中将传递的值分配给变量( 比如 。 然后你在 onClickListener 中所做的一切就是


fruit_q.setOnClickListener(new OnClickListener()//Next step
 {
 public void onClick(View v)
 {
 if(position!= 35)//35 is end of index in gridview array
 {
 id = position + 1;
 secondID = position + 1;
 }
 else//ber sin chea answer dol index 35 hery jang back to index 0
 {
 id = 0;
 secondID = 0;
 }
//call method to show this new values (1)
 }
 });

在( 1 ) 中提到的方法,你可以设计这样的方法,使你的Activity 中的所有可视化和背景计算都可以通过 onCreate()onClickListener 来调用。

示例


public class MyActivity extends Activity{
//... 

 private int a, b, c;

 protected void onCreate(Bundle b){
//do usual stuff
 a = getIntent().getIntExtra("a");
 b = getIntent().getIntExtra("b");
 c = getIntent().getIntExtra("c");
//...
 fruit_q.setOnClickListener(new OnClickListener(){
 public void onClick(View v){
 a += 1;
 b += 2;
 c -= 3;
 displayStuff();
 }
 }
 displayStuff();
 }

 private void displayStuff(){
//get displaying components like TextView
//set some of the values like a, b or c as Text
 }

//...
}

我做了 NOT 检查了这个代码,它应该只显示我的意思。 这样,你可以直接在 Activity 中操作现有值,而无需刷新它。

原作者:
...