Android:Intent要求删除参数&;getBaseContext()请求创建其方法
我正在尝试制作3个标签,其中包含来自的片段,并在第3个标签中查找与我的意图相关的问题。我试过这个方法,但没什么变化。这还是个错误Android:Intent要求删除参数&;getBaseContext()请求创建其方法,android,android-intent,android-fragments,Android,Android Intent,Android Fragments,我正在尝试制作3个标签,其中包含来自的片段,并在第3个标签中查找与我的意图相关的问题。我试过这个方法,但没什么变化。这还是个错误 package com.spamcity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; import android.widget.ImageBu
package com.spamcity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.widget.ImageButton;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
public class postingActivity extends Fragment {
private ImageButton infrastructure;
private ImageButton trafficjam;
private ImageButton others;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View V = inflater.inflate(R.layout.posting_activity, container, false);
setupVariables();
addListenerOnButton();
return V;
}
public void addListenerOnButton() {
Intent intent = new Intent(getBaseContext(), writeActivity.class); // error
// want me to create method getBaseContext()
// infrastructure
infrastructure.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(intent); //error
finish();
}
});
// traffic jam
trafficjam.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(postingActivity.this, writeActivity.class)); // error
finish();
}
});
// others
others.setOnClickListener(new OnClickListener() {
@Override
public void onCzlick(View arg0) {
startActivity(new Intent(postingActivity.this, writeActivity.class)); // error
finish();
}
});
}
protected void finish() {
// TODO Auto-generated method stub
// they require this method to be exist
// but I dont know what should I write here
}
private void setupVariables(){
infrastructure = (ImageButton) findViewById(R.id.btnInfra);
trafficjam = (ImageButton) findViewById(R.id.btnTrafJam);
others = (ImageButton) findViewById(R.id.btnOther);
}
}
我不明白这里出了什么问题。谢谢你的帮助。试试看
getActivity()
而不是
getBaseContext()
这工作正常
试试这个谢谢!星际触觉的错误现在都消失了。我想知道你知道为什么他们要求为finish()和findViewById(int)创建it方法吗?它说该方法未定义。然后使用get activity.finish()和v.findViewById()activity.finish()不起作用,我尝试了这个--View v=getLayoutInflater().inflate(R.layout.posting_activity,null);--但是该行出错。很抱歉,是getActivity.finish();和v=充气机充气(R.layout.posting_活动,容器,假);使用此选项我尝试过,但getActivity()也不起作用。对于v,它是--View v=充气机。充气(R.layout.posting_aduan,container,false);--,正当此行获取“充气器”和“容器”部分的错误,但ImageButton部分与v一起工作。请立即尝试。我做了一些改变
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.widget.ImageButton;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
public class postingActivity extends Fragment {
private ImageButton infrastructure;
private ImageButton trafficjam;
private ImageButton others;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View V = inflater.inflate(R.layout.posting_activity, container, false);
infrastructure = (ImageButton) V.findViewById(R.id.btnInfra);
trafficjam = (ImageButton) V.findViewById(R.id.btnTrafJam);
others = (ImageButton) V.findViewById(R.id.btnOther);
addListenerOnButton();
return V;
}
public void addListenerOnButton() {
final Intent intent = new Intent(getActivity(), writeActivity.class); // error
// want me to create method getBaseContext()
// infrastructure
infrastructure.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(intent); //error
getActivity().finish();
}
});
// traffic jam
trafficjam.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(getActivity(), writeActivity.class)); // error
getActivity().finish();
}
});
// others
others.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(getActivity(), writeActivity.class)); // error
getActivity().finish();
}
});
}
}