好的,在我解释我到目前为止还不是Android编程专家之前,如果我提出一个愚蠢的问题,请原谅。
我试图在Java类中实现的代码正在处理Buttons和Fragments。我想在“片段类”中放置一个按钮,以便继续浏览网站。即(Facebook Instagram),但我不知道为什么我在活动中遇到错误= this; 我希望有人能帮助我并向我解释(如果可能的话)为什么会这样,以及将来我可以做些什么来防止再次发生此错误。
这是Java代码:
package info.androidhive.slidingmenu;
import android.app.Activity;
import android.app.Fragment;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
public class NetworksActivity extends Fragment implements OnClickListener{
ImageButton imgButtonInstagram;
ImageButton imgButtonFacebook;
Activity activity;
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.networks_layout);
}
public View onCreateView(LayoutInflater inflater, ViewGroup parent,
Bundle saedInstanceState) {
View rootView = inflater.inflate(R.layout.networks_layout, parent, false);
activity = this;
imgButtonInstagram = (ImageButton)rootView.findViewById(R.id.imgBtnInsta);
imgButtonFacebook = (ImageButton)rootView.findViewById(R.id.imgBtnFace);
imgButtonFacebook.setOnClickListener(listener);
imgButtonInstagram.setOnClickListener(listener);
return rootView;
}
private View.OnClickListener listener = new View.OnClickListener() {
public void onClick(View v) {
switch (v.getId()){
case (R.id.imgBtnInsta):
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("http://instagram.com/m4lvip")));
break ; // add here
case (R.id.imgBtnFace):
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.facebook.com/")));
break ;// add here
}
}
};
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
}
activity = this
这不涉及活动上下文coz NetworksActivity extends Fragment
。
使用
activity = getActivity()
。
getActivity()
返回此片段当前与之关联的活动。
还有你的进口不对
删除这个
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
使用
import android.view.View
import android.view.View.OnClickListener;
也使用@Override注解
@Override
public void onClick(View v) {
还要删除这个
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
还要删除这个
implements OnClickListener
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句