简体   繁体   English

我已经在Android中实现了gridview,但无法在带有webview后备的网格视图中的itemclick上打开chrome自定义标签

[英]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.

相关问题 Android Chrome自定义标签回退 - Android Chrome custom tabs fallback 我有一个 android Webview 我实现但无法通过代码上传个人资料图片 - I have a android Webview I implemented but an unable to upload profile picture through the code 从Chrome自定义标签中的WebView打开链接时获取ANR对话框。我该如何调试? - Get ANR dialog when open links from WebView in Chrome custom tabs. How do I debug this? 我无法在android studio模拟器屏幕上查看我的应用 - I am unable to view my app on the android studio emulator screen 是否可以将 Chrome 自定义标签作为视图对象 - Is it possible to have Chrome custom tabs as View object 如何打开 WebView 或从自定义选项卡中分离 Chrome 活动 - How to open WebView or separate Chrome activity from Custom Tabs 为什么我无法在 android 中打开来自 webview 的摄像头? - Why I am not able to open camera from webview in android? 为什么我无法点击Android WebView中的电话号码? - Why am I unable to click on a phone number in Android WebView? 我是否可以正确放大自定义视图? - Am I inflating my custom view correctly? 我的Android GridView有什么问题? - What am I doing wrong with my Android GridView?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM