diff --git a/app/build.gradle b/app/build.gradle index d4e31ff..e44972e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -26,4 +26,5 @@ dependencies { testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + implementation 'androidx.recyclerview:recyclerview:1.1.0' } diff --git a/app/src/main/java/com/example/recyclerview/MainActivity.java b/app/src/main/java/com/example/recyclerview/MainActivity.java index 9027392..6eb2931 100644 --- a/app/src/main/java/com/example/recyclerview/MainActivity.java +++ b/app/src/main/java/com/example/recyclerview/MainActivity.java @@ -1,14 +1,29 @@ package com.example.recyclerview; import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.os.Bundle; +import java.util.ArrayList; + public class MainActivity extends AppCompatActivity { + ArrayList mData; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + mData = new ArrayList<>(); + mData.add("eins"); + mData.add("zwei"); + mData.add("drei"); + + MyAdapter myAdapter = new MyAdapter(mData); + RecyclerView mRecyclerView = findViewById(R.id.recyclerView); + LinearLayoutManager mLinearLayoutManager = new LinearLayoutManager(this); + mRecyclerView.setLayoutManager(mLinearLayoutManager); + mRecyclerView.setAdapter(myAdapter); } } diff --git a/app/src/main/java/com/example/recyclerview/MyAdapter.java b/app/src/main/java/com/example/recyclerview/MyAdapter.java new file mode 100644 index 0000000..326a762 --- /dev/null +++ b/app/src/main/java/com/example/recyclerview/MyAdapter.java @@ -0,0 +1,38 @@ +package com.example.recyclerview; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import java.util.ArrayList; + +public class MyAdapter extends RecyclerView.Adapter { + + ArrayList mData; + + public MyAdapter(ArrayList aData) { + mData = aData; + } + + @NonNull + @Override + public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + LayoutInflater inflater = LayoutInflater.from(parent.getContext()); + View newView = inflater.inflate(R.layout.one_row_layout, parent, false); + MyViewHolder myViewHolder = new MyViewHolder(newView); + return myViewHolder; + } + + @Override + public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { + holder.mTextView.setText(mData.get(position)); + } + + @Override + public int getItemCount() { + return mData.size(); + } +} diff --git a/app/src/main/java/com/example/recyclerview/MyViewHolder.java b/app/src/main/java/com/example/recyclerview/MyViewHolder.java new file mode 100644 index 0000000..226c337 --- /dev/null +++ b/app/src/main/java/com/example/recyclerview/MyViewHolder.java @@ -0,0 +1,15 @@ +package com.example.recyclerview; + +import android.view.View; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +public class MyViewHolder extends RecyclerView.ViewHolder { + TextView mTextView; + public MyViewHolder(@NonNull View itemView) { + super(itemView); + mTextView = (TextView) itemView; + } +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 4fc2444..c163cd9 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,13 +6,10 @@ android:layout_height="match_parent" tools:context=".MainActivity"> - - \ No newline at end of file