Намерение к другому действию при поиске по клику

Я искал различные способы, но я не могу понять, как заставить эту вещь работать.

Я просто хочу, когда бы textview в expandablelistview щелкает, чтобы перейти в другой activity, Но я хочу указать клики пользователей на их собственные действия. Как я могу это сделать?

Короче говоря, все, что я хочу знать, это как мне справиться с onclick из моего textview?

Это код, в который я должен поместить свое намерение:

@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
    ChildRow childRow = (ChildRow) getChild(groupPosition, childPosition);
    if (convertView == null) {
        LayoutInflater layoutInflater = (LayoutInflater)
                context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
        convertView = layoutInflater.inflate(R.layout.child_row, null);
    }

    ImageView childIcon = (ImageView) convertView.findViewById(R.id.child_icon);
    childIcon.setImageResource(childRow.getIcon());

    final TextView childText = (TextView) convertView.findViewById(R.id.child_text);
    childText.setText(childRow.getText().trim());

    final View finalConvertView = convertView;
    childText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Codes for intent goes in here.
            Toast.makeText(finalConvertView.getContext()
                    , childText.getText()
                    , Toast.LENGTH_SHORT).show();
        }
    });

    return convertView;
}

Помощь очень нужна и ценится, пожалуйста, помогите мне. Спасибо.

2 ответа

Решение

Допустим, вы используете arraylist предметов. Вы можете получить доступ к элементам списка, используя childposition, все, что вам нужно сделать, это передать этот элемент с намерением взглянуть на следующий код.

  private List<ItemDetail> itemList = new ArrayList<ItemDetail>();


    @Override
    public View getChildView(int groupPosition, int childPosition,
            boolean isLastChild, View convertView, ViewGroup parent) {


        if (convertView == null) {
            LayoutInflater layoutInflater = (LayoutInflater)
                    context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
            convertView = layoutInflater.inflate(R.layout.child_row, null);
        }


         final TextView childText = (TextView) convertView.findViewById(R.id.child_text);
         childText.setText(itemList.get(childPosition));


        final View finalConvertView = convertView;
        childText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Codes for intent goes in here.
           Intent intent = new Intent(this,YourActivity.class);
           intent.putExtra("datakey", itemList.get(childPosition));
           startActivity(intent);
         }
        });

       return convertView;

    }

Код ниже должен быть внутри Activity учебный класс. Сначала вы должны создать намерение для конкретной деятельности, на которую вы хотели бы пойти. Призыв к putExtra() необязательно; Вы можете использовать его для передачи данных в новое действие. Затем вам нужно позвонить startActivity() и передать это намерение.

Intent intent = new Intent(this, NewActivity.class);
intent.putExtra(NewActivity.DATA_KEY, data);
startActivity(intent);
Другие вопросы по тегам