я наткнулся на пост, который 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 мне, что я делаю неправильно? Я хочу, чтобы сюжет, чтобы быть интерактивными. Я чувствую, что я что-то отсутствует.
Благодаря
Я думаю, что диаграммы в AChartEngine также реагируют на другие жесты/события касания, поэтому может посмотрите, можете ли вы отключить их все или просто вызвать «setClickable (false)» на графическом экране диаграммы. Идея заключается в том, чтобы событие касания фильтровалось до родителя LinearLayout. – Karakuri
Возможно, вам также придется отключить масштабирование AChartEngine, 'renderer.setZoomEnabled (false, false);' – jnthnjns