Aka*_*ari 5 eclipse android android-emulator
我的代码有语法错误,在"getView"中我想让按钮"update"的监听器移动到另一个活动:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater l = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View rowView = l.inflate(R.layout.temp, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.textView1);
ImageView imageView = (ImageView) rowView.findViewById(R.id.imageView1);
Button update = (Button) rowView.findViewById(R.id.button1);
// update.setOnClickListener(new View.OnClickListener() {
//
// @Override
// public void onClick(View v) {
//
// Intent redirect = new Intent(getApplicationContext(),Update.class);
// startActivity(redirect);
//
// }
// });
textView.setText(sa.get(position));
return rowView;
}
Run Code Online (Sandbox Code Playgroud)
我试图解决这些关于"意图"的错误,但我失败了:(
方法startActivity(Intent)未定义类型new View.OnClickListener()
方法getApplicationContext()未定义类型new View.OnClickListener()
甚至当我从"onClick"方法移动这些语句时问题没有改变!! 我导入了"Intent"库,如何解决?
Rag*_*dan 14
如果您的适配器位于不同的文件中,则需要活动上下文.
您需要将活动上下文从活动类传递给适配器构造函数.
startActivity
是您的活动类的方法.因此,您需要活动上下文来启动活动.
而不是getApplicationContext
使用活动上下文.
通过commonsware检查答案.
update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent redirect = new Intent(context,Update.class);
context.startActivity(redirect);
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12247 次 |
最近记录: |