在其他方法 Android 中使用 Textview.setText
Posted
技术标签:
【中文标题】在其他方法 Android 中使用 Textview.setText【英文标题】:use Textview.setText in other method Android 【发布时间】:2016-01-26 13:52:15 【问题描述】:如何在其他方法中使用 textview 值?我想将“txtTitle.setText”的值用于其他活动(汽车),但我不能在 onclick 方法上使用它。
public View getView(int position, View view, ViewGroup parent)
LayoutInflater inflater = context.getLayoutInflater();
View rowView = inflater.inflate(R.layout.single_list, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.txt);
txtTitle.setText(companyname[position]);
txtTitle.setOnClickListener(new View.OnClickListener()
public void onClick(View v)
Intent intent = new Intent(context, Cars.class);
intent.putExtra("carId", txtTitle.getText());
context.startActivity(intent);
);
请编辑我的代码 谢谢
【问题讨论】:
请明确说明您想做什么。将 textview 的值发送到另一个活动? 是的,但 textview 用 txtTitle.setText(companyname[position]) 更改,例如当 postion 为 1 时,公司名称为 ford ,位置为 2 公司名称为 Benz 和 ...,我想在intent.putextra中使用txtTitle.setText的值 【参考方案1】:您的 TextView txtTile
仅在您的 getView 方法中知道,因为您在那里创建了它 - 您需要在您的类中声明这个变量,在任何方法之外。
只需调用:
TextView txtTitle;
在getView
你这样设置:
txtTitle = (TextView) rowView.findViewById(R.id.txt);
【讨论】:
是否需要写context.startActivity(intent);而不是 startActivity(intent); ? 非常感谢您,但您只发送了一个公司名称。为什么 txtTitle.setText(companyname[position]) 不起作用? 我假设您在适配器中 - 那么是的,有必要在您的上下文中调用 startActivity,因为适配器不知道任何方法startActivity
【参考方案2】:
你不能那样使用它,txtTitle
的范围被缩减为方法getView
(see),你应该将TextView
定义为一个全局字段,这样你就可以使用它了任何你想要/需要的地方。
【讨论】:
以上是关于在其他方法 Android 中使用 Textview.setText的主要内容,如果未能解决你的问题,请参考以下文章