[英]I have implemented gridview in my android but i am unable to open chrome custom tabs with on itemclick in grid view with webview fallback
My Main Activity.java which contains gridview methods and from where we can handle to open chrome custom tabs with on item click but i am unable to do this so please kindly help me in this situation 我的Main Activity.java包含gridview方法,我们可以在其中单击项目单击以从中打开chrome自定义选项卡,但是我无法执行此操作,因此请在这种情况下为我提供帮助
public class MainActivity extends AppCompatActivity {
GridView gridView;
String[] gridViewString = {
"Facebook", "Twitter", "Instagram", "Gmail", "Google+"};
int[] gridViewImageId = {R.drawable.facebook, R.drawable.twitter, R.drawable.instagram, R.drawable.gmail, R.drawable.googleplus};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomGridViewActivity customGridViewActivity = new CustomGridViewActivity(MainActivity.this, gridViewString, gridViewImageId);
gridView = (GridView) findViewById(R.id.column);
gridView.setAdapter(customGridViewActivity);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
switch (i) {
case 0:
Intent a = new Intent(getApplicationContext(), MainActivity.class);
a.putExtra("id", l);
a.putExtra("URL", "https://www.facebook.com");
a.putExtra("Name", "Facebook");
startActivity(a);
break;
default:
break;
}
}
});
}
} }
This Is my grid view Adapter Java Class 这是我的网格视图适配器Java类
public class CustomGridViewActivity extends BaseAdapter {
private Context mContext;
private final String[] gridViewString;
private final int[] gridViewImageId;
private Object convertView;
public CustomGridViewActivity(Context context, String[] gridViewString, int[] gridViewImageId) {
mContext= context;
this.gridViewString = gridViewString;
this.gridViewImageId = gridViewImageId;
}
@Override
public int getCount() {
return gridViewString.length;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View gridViewAndroid;
LayoutInflater inflater=(LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
{
gridViewAndroid=new View(mContext);
gridViewAndroid=inflater.inflate(R.layout.structure,null);
TextView textViewAndroid=(TextView) gridViewAndroid.findViewById(R.id.gridView_text);
ImageView imageViewAndroid=(ImageView) gridViewAndroid.findViewById(R.id.gridView_image);
textViewAndroid.setText(gridViewString[i]);
imageViewAndroid.setImageResource(gridViewImageId[i]);
}
else {
gridViewAndroid=(View) convertView;
}
return gridViewAndroid;
}
} }
Please help me to implement custom tabs with on item click of gridview 请帮助我在gridview的项目单击上实现自定义选项卡
You are trying to open "MainActivity again in your onItemClick interface. 您试图在onItemClick界面中再次打开“ MainActivity”。
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
switch (i) {
case 0:
Intent a = new Intent(getApplicationContext(), MainActivity.class);///why are you trying to open MainActivity Again
a.putExtra("id", l);
a.putExtra("URL", "https://www.facebook.com");
a.putExtra("Name", "Facebook");
startActivity(a);
break;
default:
break;
}
}
Sample 样品
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
switch (i) {
case 0:
CustomTabsIntent customTabsIntent = new
CustomTabsIntent.Builder().build();
CustomTabActivityHelper.openCustomTab(
this,// activity
customTabsIntent,
Uri.parse("http://www.google.com"),
new WebviewFallback());
default:
break;
}
}
Refer Here to open custom chrome tab from your activity 请参阅此处从您的活动中打开自定义镶边选项卡
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.