2013-04-06 4 views
0

я наткнулся на пост, который exaplains, что если добавить android:onClick="OnClickMethod" к <LinearLayout> в файле XML, а затем в файле JAVA добавитьClickable вложенная LinearLayout отображения AChartEngine динамический график

public void OnClickMethod(View v) { 
    Intent intent= new Intent(getApplicationContext(), SecondActivity.class); 
    startActivityForResult(intent, START_INTENT); 
} 

Он должен сделать LinearLayout кликабельны. Что он делает. Но, у меня есть следующие настройки в моем файле XML:

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:padding="0dp" 
    android:id="@+id/linearLayout1" 
    > 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:padding="5dp" 
     > 
    <ImageView 
     android:id="@+id/imageView1" 
     android:src="@drawable/myIcon" 
     android:gravity="center_vertical|center_horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="2" 
     /> 
    <TextView 
     android:id="@+id/textView1" 
     android:text="xxx" 
     android:gravity="center_vertical|center_horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="2" 
     android:textStyle="bold" 
     /> 
    </LinearLayout> 
    <LinearLayout 
     android:id="@+id/myChart" 
     android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     /> 

</LinearLayout> 

Если добавить android:OnClick="OnClickMethod" к linearLayout1 это делает только TextView и Image кликабельным. Но в идеале я хочу, чтобы график был кликабельным. Я попробовал добавить android:OnClick="OnClickMethod" в myChart LinearLayout, и это не сделало эту зону доступной.

BTW, myChart LinearLayout отображает динамический график AChartEngine. и я отключил кастрюли X и Y, так что пользователь не может перемещать график вокруг (renderer.setPanEnabled(false, false)

Пожалуйста exaplain мне, что я делаю неправильно? Я хочу, чтобы сюжет, чтобы быть интерактивными. Я чувствую, что я что-то отсутствует.

Благодаря

+0

Я думаю, что диаграммы в AChartEngine также реагируют на другие жесты/события касания, поэтому может посмотрите, можете ли вы отключить их все или просто вызвать «setClickable (false)» на графическом экране диаграммы. Идея заключается в том, чтобы событие касания фильтровалось до родителя LinearLayout. – Karakuri

+0

Возможно, вам также придется отключить масштабирование AChartEngine, 'renderer.setZoomEnabled (false, false);' – jnthnjns

ответ

0

для добавления нажмите взаимодействия на диаграмме, вы должны включить взаимодействие щелчок и добавить OnClickListener на представлении диаграммы. вы можете увидеть эту работу в this например, строки # 156 до # 176.

+0

Это помогло. Но сейчас график имеет 'onClickListener', а не' LinearLayout'. Могу ли я получить точные результаты, если «LinearLayou» является «кликабельным»? – KingsInnerSoul

Смежные вопросы