Ich habe derzeit ein GridView-Setup, das ein TextView beim Klicken mit getX() und getY() der Zelle onClick hinzufügt. Wenn ich versuchte, dies vom OnClickListener wegzubewegen, ist der für die getX() - und getY() -Werte der ZelleView zurückgegebene Wert immer 0.0 anstelle des Werts, der in der OnClick-Schnittstelle in OnclickListener angegeben ist. Wie kann ich den getX() bekommen, den ich in den onClickListener außerhalb des Listeners bekomme?getX() und getY() geben einen anderen Wert in OnClickListener zurück
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View cellView;
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
cellView = inflater.inflate(R.layout.cell_calendar, parent, false);
TextView textView = (TextView) cellView.findViewById(R.id.calendar_date);
textView.setText("" + dateArrayList.get(position).getDate());
System.out.println(cellView.getX() + "/" + cellView.getY()); //Returns 0
cellView.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
float buffer = bar1.getY();
System.out.println(cellView.getX() + "/" + cellView.getY()); //Returns actual Location
addText(cellView.getX() + 15, cellView.getY() + buffer, "Test String");
}
});
public void addText(float x, float y, String textName) {
TextView mTextView = new TextView(context);
mTextView.setTextColor(Color.parseColor("#000000"));
mTextView.setText(textName);
mTextView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
mTextView.setX(x);
mTextView.setY(y);
mTextView.setTextSize(mTextView.getTextSize() * .15f);
mContainer.addView(mTextView);
}
code !! wir müssen den Code sehen ... –