我在具有动态 ImageViews 的 ScrollView 中使用() setTag 和 getTag() 来了解单击了哪个。这是我的代码:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private View cell;
private LinearLayout layoutScroll;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layoutScroll = (LinearLayout) findViewById(R.id.linear_scroll_main_activity);
for (int i = 0; i <= 3 ; i ++){
cell = getLayoutInflater().inflate(R.layout.category_cells, null);
final ImageView imageView = (ImageView) cell.findViewById(R.id.image_category_cells);
final TextView textView = (TextView) cell.findViewById(R.id.text_category_cells);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getTag().toString() == "0"){
Toast.makeText(MainActivity.this,"Text1", Toast.LENGTH_LONG).show();
}else if (imageView.getTag().toString() == "1"){
Toast.makeText(MainActivity.this,"Text2", Toast.LENGTH_LONG).show();
} else{
Toast.makeText(MainActivity.this,v.getTag().toString(), Toast.LENGTH_LONG).show();
}
}
});
imageView.setTag(i);
int imageResource = getResources().getIdentifier("drawable/category1", null, getPackageName());
imageView.setImageResource(imageResource);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
textView.setText("Texto " + Integer.toString(i + 1));
layoutScroll.addView(cell);
}
}
好的,问题是我总是得到一个吐司,根据我单击的 ImageView 显示 0、1、2 或 3。我的问题是,如果我得到一个显示 0 或 1 的 Toast,它不应该给我一个显示 Text1 或 Text2 的 Toast 吗?
我将不胜感激任何帮助。谢谢