Я уверен, что на это где-то ответили, но не могу найти его.ImageButton - это ListView, начинающий новую активность onClick, Android
У меня есть ListView целей пользователя ... У меня есть кнопка на вершине, где пользователи могут добавлять цели:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
style="@style/secondaryBackground"
tools:context="android.bignerdranch.com.mobilemidwife.GoalsList">
<ImageButton
android:id="@+id/addgoal"
style="@style/FloatingActionButtonOrange"
android:src="@drawable/ic_action_new"
android:layout_alignParentRight="true"
android:contentDescription="add goal"
android:onClick="btnRemoveClick" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:layout_below="@+id/addgoal"
android:orientation="vertical"
android:id="@+id/goalsection">
<TextView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="Goal Name"
android:id="@+id/goalname"
android:padding="10dp"
style="@style/orangetextlarger"
android:layout_gravity="left" />
</LinearLayout>
</RelativeLayout>
Кнопка AddGoal не является на самом деле частью ListView ... это а не часть извлекаемых данных. Я попытался щелкнуть кнопку, чтобы начать новую активность в адаптере, но я не смог; Я добавил код внутри функции GetItemView, но мне кажется, findViewById не может быть решена
@Override
public View getItemView(ParseObject object, View view, ViewGroup parent) {
if (view == null) {
view = View.inflate(getContext(), R.layout.activity_goals_list, null);
}
// use midwifefirm as item view/list
super.getItemView(object, view, parent);
// find in layout the practice name
TextView titleTextView = (TextView) view.findViewById(R.id.goalname);
//in the midwifefirm data model, call getPracticename
titleTextView.setText(object.getString("goalname"));
mAddGoal = (ImageButton) findViewById(R.id.addgoal);
mAddGoal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(GoalListAdapter.this, AddGoal.class);
startActivity(intent);
}
});
return view;
}
Я также думал в ImageButton в макете, я мог бы установить функцию OnClick там?
Извинения, я знаю, что это, вероятно, где-то есть, но не может понять это.
Привет, который работал ... Теперь я хочу, чтобы начать деятельность, когда эта кнопка нажата ... для по какой-то причине startActivity не может быть разрешен; Спасибо за помощь! –
Вам нужно передать 'Context' в свой класс. Пожалуйста, ознакомьтесь с моим обновленным ответом на примере передачи Context через конструктор. В этом примере активность запускается через «mContext.startActivity (намерение)»; – Jamie