我正在嘗試完全由java代碼創建一個活動。這裏的目標是創建一個活動,通過以前的活動填補自己。這是一個商店列表活動。 用戶在之前的活動中添加了itens,當他要求顯示完整列表時,將生成上述活動。更改TextView按下按鈕的顏色
這裏的問題是,我想將紅色設置爲帶有itens名稱的textviews的初始顏色,當用戶點擊它時,它們將顏色更改爲綠色。 但是,當我點擊它的應用程序強制關閉與消息indexoutofbounds異常。 有人可以幫助我嗎?
public class Listdinamiccor extends Activity {
Bundle recebendoparametros;
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listdinamiccor);
Intent parametro = getIntent();
recebendoparametros = parametro.getExtras();
int j = recebendoparametros.getInt("i");
ScrollView sv = new ScrollView(this);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);
final TextView[] tvarray = new TextView[j];
for (i = 0; i < tvarray.length; i++) {
String chave = "chave"+i;
final TextView tv = new TextView(this);
tvarray[i] = new TextView(this);
tvarray[i].setText(""+recebendoparametros.getString(chave));
tvarray[i].setTextColor(Color.RED);
tvarray[i].setOnClickListener(new View.OnClickListener() {
int click = 0;
@Override
public void onClick(View v) {
/*if (click == 0) {
tvarray[i].setTextColor(Color.GREEN);
}
else {
tvarray[i].setTextColor(Color.RED);
}*/
AlertDialog.Builder alert = new AlertDialog.Builder(Listdinamiccor.this);
alert.setTitle("dinamico");
alert.setMessage("eu sou muito dinamico");
}
});
ll.addView(tvarray[i]);
}
this.setContentView(sv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.listdinamiccor, menu);
return true;
}
}
安置自己的logcat消息請。 Indexoutofbounds是用來處理你的數組,而不是用textview。 – prijupaul