事件TableFixHeader事件、TableFixHeader

2023-09-04 03:53:06 作者:炊烟醉清风

我下载从本网站。 我想说明的单元格我点击的价值。

I download a custom table from this site. I want to show the value of the cell I click.

TableFixHeaders table = (TableFixHeaders) findViewById(R.id.table_1);
table.setAdapter(new MyAdapter(this));   
table.setOnLongClickListener(new OnLongClickListener(){
        @Override
    public boolean onLongClick(View v) {
        TextView Cl = (TextView) table.getChildAt(1);
        Toast.makeText(this, Cl.getText().toString(), Toast.LENGTH_LONG).show();
                return false;
        }
});

现在的问题是,我不能拦截任何事件在我的主要活动。

The problem is I can't intercept any event in my main activity.

推荐答案

下面是详细code:

      private View getBody(final int row,final int column, View convertView, ViewGroup parent) {
            if (convertView == null) {
                convertView = getLayoutInflater().inflate(R.layout.item_table, parent, false);
            }
        /*if(row == 8){
            convertView.setBackgroundResource(R.color.row8); //if row8 need different colour
        }*/else {
                //Change table color using bg_table_col
                convertView.setBackgroundResource(row % 2 == 0 ? R.drawable.bg_table_color1 : R.drawable.bg_table_color2);
            }
            ((TextView) convertView.findViewById(android.R.id.text1)).setText(records.get(row).getItem(column + 1));
            convertView.setOnLongClickListener(new View.OnLongClickListener() {
                @Override
                public boolean onLongClick(View v) {
                    detailsearchPaperID = records.get(row).getItem(0);
                    final String S;
                    S = detailsearchPaperID + " : " + records.get(row).getItem(column + 1);
                    Log.d(TAG, S);
                    Toast.makeText(getApplicationContext(), S, Toast.LENGTH_SHORT).show();
                    //...
                    // we will not start intent here but after performing search
                    return true;
                }
            });

            return convertView;
        }

如果您添加监听器在previous后(当convertView充气第一次)解释说,这将只对第一种观点,在执行任何滚动前。

If you add the listener as explained in previous post (when convertView is inflated first time), this will work only on the first view, before performing any scroll.

即使你已经进行滚动我的code工作。当然,你需要添加

My code works even if you have performed scroll. Of course you need to add

    super.onTouchEvent(event);

如前所述