我有桌子'笔记'有N个音符。对于每个笔记,我想打印标题'的标题。我在动态创建的单独textview中的列。因此,对于N笔记,我将有N个文本视图。 现在,每当用户点击任何textView时,我想显示该行中具有所点击标题的所有其他数据。
public void dataview(){
//onView is a userdefined function which simply executes a select query
Cursor res=db.onView();
len=res.getCount();
//below code is, If no notes stored in the table.
if(res.getCount()==0)
{
Toast.makeText(ViewActivity.this,"No Notes.",Toast.LENGTH_SHORT).show();
return;
}
//parsing the select query result using the Cursor res
while(res.moveToNext()) {
relative = (LinearLayout) findViewById(R.id.activity_view);
relative.addView(createNewTextView(res.getString(1).toString()));
}
}
public TextView createNewTextView(String text){
final LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lparams.setMargins(0,10,0,0);
//creating TextView and assigning properties here
textView = new TextView(this);
textView.setLayoutParams(lparams);
textView.setText(text);
index++;
textView.setTextSize(18);
textView.setBackgroundColor(Color.parseColor("#ff0099cc"));
// onClick Action here
final String title=textView.getText().toString();
textView.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Cursor res1=db.onView();
while(res1.moveToNext()){
if(res1.getString(1).equals(title));
{
final String text1=res1.getString(0);
Intent i=new Intent("com.example.dell.todolister.ViewNoteActivity");
i.putExtra("TextBox1",text1);
startActivity(i);
break;
}
}
}
}
);
return textView;
}
答案 0 :(得分:1)
我认为您需要为文本视图提供ID。
初始化全局变量,如int i = 1;
然后在createNewTextView中,textView.setId(i)
在返回视图增量之前的结尾i = i + 1;
因此,对于下一个textView,您将拥有不同的文本视图ID。
答案 1 :(得分:0)
你应该使用id识别textview来显示文本,使用它 - > v.getid()
内的onclick(View v)
答案 2 :(得分:0)
我花了24个小时来找到这个问题的解决方案,认为这个问题与一些特定于侦听器的逻辑有关。
但问题是血腥的Semicoln''在这一行造成了所有问题
Backbone.Relational.store._collections.forEach(function each(collection) {
collection.reset();
});