Как сделать добавление нескольких(!) TextView, повесить на них onClick и их прокрутку?
Посмотрите в сторону RecyclerView
. Там можно будет создать несколько TextView
, повесить на них onClick
. Вот отличный гайд по RecyclerView. Вот, как можно сделать с кликами:
import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Arrays;
import java.util.List;
public class MainActivity extends Activity {
@Override
protected void onCreate(@Nullable final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final RecyclerView list = findViewById(R.id.list);
list.setLayoutManager(new LinearLayoutManager(this));
list.setAdapter(
new Adapter(
Arrays.asList("a", "b", "c", "d", "e"),
new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(
MainActivity.this,
((TextView) v).getText() + " clicked!",
Toast.LENGTH_SHORT
).show();
}
}
)
);
}
static class Adapter extends RecyclerView.Adapter<ViewHolder> {
private final List<String> data;
private final View.OnClickListener clickListener;
public Adapter(
@NonNull final List<String> data,
@NonNull final View.OnClickListener clickListener
) {
this.data = data;
this.clickListener = clickListener;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(
@NonNull final ViewGroup viewGroup,
final int i
) {
return new ViewHolder(
new TextView(viewGroup.getContext()),
clickListener
);
}
@Override
public void onBindViewHolder(
@NonNull final ViewHolder viewHolder,
final int i
) {
viewHolder.bind(data.get(i));
}
@Override
public int getItemCount() {
return data.size();
}
}
static class ViewHolder extends RecyclerView.ViewHolder {
private final View.OnClickListener clickListener;
public ViewHolder(
@NonNull final View itemView,
@NonNull final View.OnClickListener clickListener
) {
super(itemView);
this.clickListener = clickListener;
}
public void bind(@NonNull final String text) {
final TextView textView = (TextView) itemView;
textView.setText(text);
textView.setOnClickListener(clickListener);
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Сделал приложение на JavaFX решил "скомпоновать" в приложениеРаботаю в Intellij IDEA лицензия, когда хочу создать модуль в Artifacts JavaFX Applicaton, при выборе...
Изучаю Java 3-4 месяца, дошел до многопоточностиРешил написать свою простую программу из того, что знаю