whilc(rs.next()){
data_big_layout = new LinearLayout(this);
data_big_params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
data_big_params.setMargins(0,15,0,0);
data_big_layout.setLayoutParams(data_big_params);
data_big_layout.setOrientation(LinearLayout.HORIZONTAL);
data_big_layout.setWeightSum(20);
data_big_layout.setBackgroundColor(Color.WHITE);
data_big_layout.setTag(rs.getInt(1));
data_big_layout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getBaseContext(),"ID: "+data_big_layout.getTag(), Toast.LENGTH_LONG).show();
name.setText("Clicked ID: " + data_big_layout.getTag());
}
});
detail_data_layout = new LinearLayout(this);
lparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT,8.0f);
detail_data_layout.setLayoutParams(lparams);
detail_data_layout.setOrientation(LinearLayout.VERTICAL);
detail_data_layout.setPadding(50,0,0,0);
lparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
name = new TextView(this);
name.setLayoutParams(lparams);
name.setText("ID(get from rs.next): " + rs.getString(1));
name.setTextSize(24);
name.setTypeface(Typeface.DEFAULT_BOLD);
detail_data_layout.addView(name);
scroll_view_child.addView(data_big_layout); //scroll_view_child is a LinearLayout
}
Привет всем, я не могу решить проблему.Приведенный выше код сгенерирует два LinearLayout с функцией onclick.Тем не менее, функция onclick не может определить, какая из них была нажата.
Два установленных мной тега должны быть «1» и «2» в первом и втором LinearLayout, но все LinearLayout будут показывать «2», когда я щелкаю по нему.Как я могу решить эту проблему?спасибо!
Я изменил некоторый код для тестирования, rs.next, несомненно, может получить идентификаторы "1" и "2", но когда я нажимаю LinearLayout (независимо от того, какой макет я щелкнул), тольковторой изменит текстовое представление.Также getTag () показывает только «2» независимо от того, на какую LinearLayout я нажал.
ps: некоторые коды просмотра текста и изображения пропускаются
До щелчка:
![enter image description here](https://i.stack.imgur.com/MiGcb.png)
После нажатия (неважнокакой макет я нажимаю):
![enter image description here](https://i.stack.imgur.com/MIe0h.png)