У меня есть текстовые представления в макете таблицы, как это
----------------
|txt1|txt2|txt3|
----------------
|txt4|txt5|txt6|
----------------
|txt7|txt8|txt9|
----------------
|txt1|txt2|txt3|
----------------
|txt4|txt5|txt6|
----------------
|txt7|txt8|txt9|
и т. Д. И т. П. 0
таким образом я снова и снова добавляю текстовые представления в цикл for в макете таблицы в соответствии с данными, которые поступают динамически ...
на событии прослушивания клика txt7 я могу получить текст txt7 следующим образом
((TextView)v).getText().toString();
теперь мне нужен текст txt8 и текст txt9 при событии щелчка txt7
какой-то орган предложил мне сделать это, пометив textview
TextView uniqueTextView = (TextView)findViewById(R.id.unique_id);
TextView neighbourView = new TextView();
neighbourView.setTag(uniqueTextView);
public void onTextViewClick(TextView view) {
TextView uniqueTextView = (TextView)view.getTag();
String text = uniqueTextView.getText().toString(); }
но это для одного textview ... как я могу получить текст обоих textview (txt8 + txt9) на слушателе txt7 click .... плюс мне также нужен текст из txt7 ....
если неясно, тогда вы можете комментировать ....
это динамическая таблица, которую я создаю
TableRow tr1 = (TableRow) new TableRow(this);
TextView txt1=new TextView(this);
TextView txt2=new TextView(this);
TextView txt3=new TextView(this);
txt1.setText("Data1);
txt2.setText("Data2);
txt3.setText("Data3);
txt1.setTag(1, txt2.getText().toString());
txt1.setTag(2, txt3.getText().toString());
txt1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
try
{
Log.i("asdasd","Yahoo");
Toast(((TextView)v).getTag(1).toString());
Toast(((TextView)v).getTag(2).toString());
}
catch(Exception e)
{
Log.i("Error came while getting tag of txt1", e.getMessage());
Toast("unable to bind tag");
}
}
});
tr1.addView(txt1);
tr1.addView(txt2);
tr1.addView(txt3);
TableLayout tl.addView(tr1,new TableLayout.LayoutParams(layoutParams));
так как я не могу установить txt1 вместо ((TextView) v), потому что он всегда будет выдавать текст txt1
последней табличной строки
04-20 12:42:39.236: ERROR/AndroidRuntime(522): Uncaught handler: thread main exiting due to uncaught exception
04-20 12:42:39.476: ERROR/AndroidRuntime(522): java.lang.NullPointerException: println needs a message
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.util.Log.println(Native Method)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.util.Log.i(Log.java:136)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at com.connection.demotable$1.onClick(demotable.java:431)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.View.performClick(View.java:2364)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.View.onTouchEvent(View.java:4179)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.widget.TextView.onTouchEvent(TextView.java:6541)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.View.dispatchTouchEvent(View.java:3709)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.os.Handler.dispatchMessage(Handler.java:99)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.os.Looper.loop(Looper.java:123)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at android.app.ActivityThread.main(ActivityThread.java:4363)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at java.lang.reflect.Method.invokeNative(Native Method)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at java.lang.reflect.Method.invoke(Method.java:521)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
04-20 12:42:39.476: ERROR/AndroidRuntime(522): at dalvik.system.NativeStart.main(Native Method)