Java 如何在另一个活动中增加滑动时ArrayList的位置
我正在练习一个应用程序。我制作了一个位置数组,一个网格视图,它在Java 如何在另一个活动中增加滑动时ArrayList的位置,java,android,android-studio,Java,Android,Android Studio,我正在练习一个应用程序。我制作了一个位置数组,一个网格视图,它在GridView中显示第0个位置,在ImageView中显示第1个位置。对于网格视图,在另一个名为answer的活动中单击网格视图时显示第2个位置。在回答活动中,我想让它转到另一个问题,但我不明白。你能帮我吗?这是下面的密码。 我没有检查所有的代码,但是通常,post increment“clickedPosition++”将发送当前值,然后将其增加1,因此尝试使用pre increment“+++clickedPosition”
GridView
中显示第0个位置,在ImageView
中显示第1个位置。对于网格视图,在另一个名为answer的活动中单击网格视图时显示第2个位置。在回答活动中,我想让它转到另一个问题,但我不明白。你能帮我吗?这是下面的密码。
我没有检查所有的代码,但是通常,
post increment
“clickedPosition++”将发送当前值,然后将其增加1,因此尝试使用pre increment
“+++clickedPosition”并查看结果,它可能会解决问题(减量(--)的概念相同我试过一次,刷卡动作只起作用了一次。再次刷卡时,它应该转到下一个答案,即ClickedPosition应该递增并保存,再次刷卡时,然后递增并保存。我没有检查所有代码,但通常是递增后
“ClickedPosition++”将发送当前值,然后将其增加1,因此尝试使用预增量
“++clickedPosition”并查看结果,它可能会解决此问题(减量(--)的相同概念)我试了一下,刷卡动作只运行了一次。当再次刷卡时,它应该转到下一个答案,即ClickedPosition应该递增并保存,当再次刷卡时,然后递增并保存。
public class QuestionsActivity extends Activity {
public Place[] myPlaceArray = new Place[]{
new Place(1, "settings" , "1. Given the choice of"),
new Place(2, "settings" , "2. Would you like to "),
new Place(3, "settings" , "3. Before making a telephone call"),
new Place(4, "settings" , "4. What would constitute "),
new Place(5, "settings" , "5. When did you last"),
new Place(6, "settings" , "6. If you were "),
new Place(7, "settings" , "7. Do you have a secret "),
new Place(8, "settings" , "8. Name three things you "),
new Place(9, "settings" , "9. For what in your "),
new Place(10, "settings" , "10. If you could ")
};
private GridView numgridView;
private ArrayAdapter mPlaceAdapter;
public int clickedPosition;
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.question_activity);
numgridView = (GridView) findViewById(R.id.numGrid);
mPlaceAdapter = new PlaceAdapter(getApplicationContext(),R.layout.question_numbers_view,myPlaceArray);
if (numgridView!=null){
numgridView.setAdapter(mPlaceAdapter);
}
numgridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
clickedPosition = position;
Log.v("PLACE", myPlaceArray[position].Question);
Intent intent = new Intent(QuestionsActivity.this, answer.class);
intent.putExtra("theAnswer",myPlaceArray[position].Question );
intent.putExtra("theNextAnswer",myPlaceArray[clickedPosition ++].Question ); // this is what i tried but it dint work
intent.putExtra("thePreviousAnswer",myPlaceArray[clickedPosition --].Question ); // this is what i tried but it dint work
startActivity(intent);
Toast.makeText(QuestionsActivity.this, "Touch And Hold To Copy The Text",
Toast.LENGTH_LONG).show();
}
});
}
}
public class answer extends Activity implements AdColonyAdAvailabilityListener, AdColonyAdListener {
TextView textView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.answer);
AdColony.configure(this, "version:1.0,store:google", APP_ID, ZONE_ID);
AdColony.addAdAvailabilityListener(this);
textView = (TextView) findViewById(R.id.answer);
textView.setText(getIntent().getExtras().getString("theAnswer"));
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
}
});
textView.setOnTouchListener(new OnSwipeTouchListener() {
public boolean onSwipeRight() {
Toast.makeText(answer.this, "right", Toast.LENGTH_SHORT).show();
textView.setText(getIntent().getExtras().getString("thePreviousAnswer"));
return true;
// here when i swiped i want it to go to next question
}
public boolean onSwipeLeft() {
Toast.makeText(answer.this, "left", Toast.LENGTH_SHORT).show();
textView.setText(getIntent().getExtras().getString("theNextAnswer"));
return true;
//here i want it go to previous question
}
});
if(AdColony.statusForZone(ZONE_ID).equals("active"))
{
textView.setEnabled( true );
}
}