我有一個數組中的名稱列表,然後點擊這些名稱將我帶到一個記錄屏幕,顯示該名稱的名稱和代碼。信息以匹配長度的數組提供。我希望能夠點擊記錄屏幕上的一個按鈕,該按鈕會將我帶到相應的屏幕以顯示下一個名稱。迭代通過數組更新屏幕
我從意圖獲得listView項的索引i,然後用它從數組中獲取該名稱的正確數據。
下面是我的記錄屏幕代碼。
public class RecordActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_record);
Intent intent = getIntent();
final int i = intent.getIntExtra(MainActivity.EXTRA_INDEX, 0);
final String[]names = getResources().getStringArray(R.array.names);
final String[]codes = getResources().getStringArray(R.array.codes);
final TextView nameView = new TextView(this);
nameView = (TextView) findViewById(R.id.vNames);
String vName = names[i];
nameView.setText(vName);
TextView codeView = new TextView(this);
codeView = (TextView) findViewById(R.id.vCodes);
String vCode = codes[i];
codeView.setText(vCode);
nextButton = (Button) findViewById(R.id.nextButton);
nextButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
}
}});
}
在我想要做的事的按鈕的onClick方法,如「設定I = I + 1,然後刷新數據」,但作爲新的節目我不完全知道如何「寫」這個。
我已經試過
if (i<names.length) {
nameView.setText(names[i]);
i++;}
,但我得到了錯誤「最終的局部變量i不能分配,因爲它是在一個封閉的類型定義」。
我想盡可能保持一般,因爲我想有多達12個數組調用索引來顯示信息。
任何想法將非常感謝!
你不能改變我的值,因爲你已經將它設置爲最終值,這使它成爲一個常量,並保持它爲你設置的值。這就是爲什麼你得到你的錯誤 –