Я реализовал gridview в своем Android, но я не могу открыть пользовательские вкладки Chrome с помощью элемента click в представлении сетки с резервным веб-просмотром.

My Main Activity.java, который содержит методы просмотра сетки и откуда мы можем открывать пользовательские вкладки 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;
        }
    }
    });
}

}

Это мой класс адаптера 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;
}

}

Пожалуйста, помогите мне реализовать пользовательские вкладки с щелчком по элементу в представлении сетки


person Agam Jain    schedule 15.01.2018    source источник


Ответы (1)


Вы пытаетесь снова открыть "MainActivity" в интерфейсе onItemClick.

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;
    }
}

Образец

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;
    }
}

См. Здесь, чтобы открыть настраиваемую вкладку Chrome из вашей активности.

person SaravInfern    schedule 15.01.2018
comment
Это не помогает, это показывает красную линию под ней, это означает ошибку, что мне делать - person Agam Jain; 15.01.2018
comment
Обратитесь по ссылке внизу, братан, я только что дал пример кода, он неполный. - person SaravInfern; 15.01.2018
comment
Да, мне нужна ваша помощь, не могли бы вы помочь, пожалуйста, сообщите мне свой адрес электронной почты или номер мобильного телефона. - person Agam Jain; 16.01.2018
comment
Спасибо за помощь, я исправил ошибку???????? - person Agam Jain; 17.01.2018