Android 以编程方式获取选定行数据
我正在开发一个示例应用程序,以了解表中的循环数据应该如何工作 我面临的下一个挑战是如何在点击特定行时获取数据 XMLAndroid 以编程方式获取选定行数据,android,android-tablelayout,Android,Android Tablelayout,我正在开发一个示例应用程序,以了解表中的循环数据应该如何工作 我面临的下一个挑战是如何在点击特定行时获取数据 XML 简单程序 package com.singatour.touristattraction; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TableLayout; import android.widget.TableRow;
简单程序
package com.singatour.touristattraction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class GuideActivity extends AppCompatActivity
{
TextView tvGuideName = null;
TableLayout tlGuide = null;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_guide);
tlGuide = (TableLayout) findViewById(R.id.tlGuide);
for(int i = 0; i < 100; i++)
{
TableRow rows = new TableRow(this);
TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT);
rows.setLayoutParams(lp);
tvGuideName = new TextView(this);
tvGuideName.setId(i);
tvGuideName.setText("I am in row " + i);
rows.addView(tvGuideName);
tlGuide.addView(rows, i);
}
}
}
package com.singatour.touristattraction;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.widget.TableLayout;
导入android.widget.TableRow;
导入android.widget.TextView;
公共类指南活动扩展了AppCompatActivity
{
TextView tvGuideName=null;
TableLayout tlGuide=null;
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_指南);
tlGuide=(TableLayout)findviewbyd(R.id.tlGuide);
对于(int i=0;i<100;i++)
{
TableRow rows=新的TableRow(此);
TableRow.LayoutParams lp=新建TableRow.LayoutParams(TableRow.LayoutParams.WRAP_内容);
rows.setLayoutParams(lp);
tvGuideName=新文本视图(此);
tvGuideName.setId(i);
tvGuideName.setText(“我在同一排”+I);
rows.addView(tvGuideName);
tlGuide.addView(行,i);
}
}
}
我能够循环100行数据,范围从
我在第0排
我在第一排
我在第二排
我在99排
但是,有没有办法获取我在点击行时设置的数据?我想您需要这样的信息:
tr = new TableRow(this);
tr.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
TableRow t = (TableRow) view;
TextView firstTextView = (TextView) t.getChildAt(i);
String firstText = firstTextView.getText().toString();
}
});
答复来源:
如果这对你有帮助,请投票支持这个答案。我需要提高我在Stackoverflow上的声誉:)也许可以在textview上注册onClickListener?你觉得怎么样?嗨,我可以知道(I)来自哪里吗?TextView firstTextView=(TextView)t.getChildAt(I);--它是你的循环计数器(int i=0;i<100;i++)
tr = new TableRow(this);
tr.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
TableRow t = (TableRow) view;
TextView firstTextView = (TextView) t.getChildAt(i);
String firstText = firstTextView.getText().toString();
}
});