Hallo,
ich bin neu im Programmieren und versuche mir gerade eine App zu erstellen, die mir eine Liste von codes ausgibt. Bei klicken auf den entsprechenden werde ich auf die Beschreibung weitergeleitet. Dies funktioniert wunderbar.
Da ich eine sehr große Liste anzeigen lasse, möchte ich noch einen SearchView einfügen. Leider komme ich da gar nicht klar. Selbst mit Beispielen aus dem Netz bekomme ich das nicht hin.
Ich hoffe es kann mir jemand helfen. Na ch folgend mein Code aus der MainActivity und die ListActivity für das Anzeigen der Beschreibung.
Suche
Ausgabe der Infos auf der ListActivity.java
MainActivity.java
ListActivity.java // Beschreibung der Codes nach anklicken in MainActivity
activity_main.xml //Layout
ich bin neu im Programmieren und versuche mir gerade eine App zu erstellen, die mir eine Liste von codes ausgibt. Bei klicken auf den entsprechenden werde ich auf die Beschreibung weitergeleitet. Dies funktioniert wunderbar.
Da ich eine sehr große Liste anzeigen lasse, möchte ich noch einen SearchView einfügen. Leider komme ich da gar nicht klar. Selbst mit Beispielen aus dem Netz bekomme ich das nicht hin.
Ich hoffe es kann mir jemand helfen. Na ch folgend mein Code aus der MainActivity und die ListActivity für das Anzeigen der Beschreibung.
Suche
Ausgabe der Infos auf der ListActivity.java
MainActivity.java
Code:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
ListView listView;
Button but_zu_codes;
ArrayAdapter<String> mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
but_zu_codes = (Button) findViewById(R.id.codes);
but_zu_codes.setOnClickListener(this);
listView = (ListView) findViewById(R.id.listView);
mAdapter = new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_list_item_1,
getResources().getStringArray(R.array.tr_codes));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(MainActivity.this, ListActivity.class);
intent.putExtra("TroubleCodes", listView.getItemAtPosition(i).toString());
startActivity(intent);
}
});
listView.setAdapter(mAdapter);
}
ListActivity.java // Beschreibung der Codes nach anklicken in MainActivity
Code:
public class ListActivity extends AppCompatActivity {
ListView listView;
String[] states;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
listView = (ListView) findViewById(R.id.listView);
Bundle mBundle = getIntent().getExtras();
if (mBundle != null) {
String country = mBundle.getString("TroubleCodes");
if (country.equalsIgnoreCase("B0562")) {
states = getResources().getStringArray(R.array.c_B0562);
}
else if (country.equalsIgnoreCase("B0563")) { states = getResources().getStringArray(R.array.c_B0563); }
else if (country.equalsIgnoreCase("B1004")) { states = getResources().getStringArray(R.array.c_B1004); }
else if (country.equalsIgnoreCase("B1005")) { states = getResources().getStringArray(R.array.c_B1005); }
else if (country.equalsIgnoreCase("B1006")) { states = getResources().getStringArray(R.array.c_B1006); }
}
ArrayAdapter<String> mAdapter = new ArrayAdapter<String>(ListActivity.this,
android.R.layout.simple_list_item_1, states);
listView.setAdapter(mAdapter);
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.codes) {
Intent weiter = new Intent(MainActivity.this, MainActivity.class);
startActivity(weiter);
}
}
}
activity_main.xml //Layout
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:id="@+id/activity_start"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="2dp"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
tools:context="com.example.customlistview.MainActivity"
android:weightSum="1">
<SearchView
android:layout_width="match_parent"
android:layout_height="26dp" />
<ListView
android:layout_width="wrap_content"
android:layout_height="480dp"
android:id="@+id/listView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/toolbar"
android:layout_weight="0.72" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:text="Codes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/codes"
android:background="@android:color/transparent"/>
</LinearLayout>
</LinearLayout>