Java Android listview onclicklistener活动
我希望,如果我在“LeerlingnRaad”的列表视图中单击,他会用LeerlingnRaad.xml打开LeerlingnRaad类,如果我单击Contact,他会用Contact.xml打开Contact类,我已经找到了很多相关主题,但它不会起作用。有人知道我的剧本出了什么问题吗?请不要低估这一点 Myclass.java:Java Android listview onclicklistener活动,java,android,xml,listview,onclicklistener,Java,Android,Xml,Listview,Onclicklistener,我希望,如果我在“LeerlingnRaad”的列表视图中单击,他会用LeerlingnRaad.xml打开LeerlingnRaad类,如果我单击Contact,他会用Contact.xml打开Contact类,我已经找到了很多相关主题,但它不会起作用。有人知道我的剧本出了什么问题吗?请不要低估这一点 Myclass.java: package com.example.myapp; import android.app.Activity; import android.content.Int
package com.example.myapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem.*;
import android.view.MenuItem;
import android.view.MenuInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import android.text.Editable;
import android.widget.AdapterView.OnItemClickListener;
import android.text.TextWatcher;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.view.ViewGroup;
import android.widget.Toast;
public class Myclass extends Activity {
// List view
private ListView lv;
// Listview Adapter
ArrayAdapter<String> adapter;
// Search EditText
EditText inputSearch;
// ArrayList for Listview
ArrayList<HashMap<String, String>> onderneming;
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.myclass);
String onderneming[] = {"Leerlingenraad", "Medezeggenschapsraad", "3", "4", "5", "6", "Contact"};
lv = (ListView) findViewById(R.id.list_view);
inputSearch = (EditText) findViewById(R.id.inputSearch);
// Adding items to listview
adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.product_name, onderneming);
lv.setAdapter(adapter);
/**
* Enabling Search Filter
* */
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
Ondernemerschap.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
}
});
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
final int position, long id) {
String main = lv.getSelectedItem().toString();
}
});
}
private ListView getListView() {
return null;
}
}
myclass.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/pallasrood"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/android" />
<EditText android:id="@+id/inputSearch"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView1"android:hint="Zoek de onderneming.."
android:inputType="textVisiblePassword"/>
<ListView
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_below="@+id/inputSearch"
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent" >
</ListView>
</RelativeLayout>
Androidmanifest.xml
<activity android:name=".Leerlingenraad"
android:label="Pallasapp">
</activity>
我假设您已经有了详细活动,我称之为OndernemingDetailActivity 在ListView活动中:
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent in = new Intent(this, OndernemingDetailActivity.class);
//Send onderneming
in.putExtra("selected_onderneming", adapter.getItem(i));
startActivity(in);
}
});
这是从捆绑包中取出额外物品的最快方法。查看post,了解一种更可靠、更安全的方法
然后,您可以显示“所选OnDerning”所需的数据。我希望这能回答您的问题。听起来您需要使用活动。为LeerlingnRaad创建一个新的活动,联系并使用意向和startActivity来更改这些活动。你应该研究一下,这将对你有很大帮助。特别是这一章。你能粘贴你的listview屏幕截图吗?这样我们就能理解你的要求了。我不懂developer.android.com教程。我知道如何启动活动,但不知道如何使用listview。是否有OndernemingDetailActivity类?如果是这样,请尝试用getActivityowh替换此选项。我必须更改活动类hahaokay我将尝试并接受您的回答,当它不起作用时,我可以通过堆栈交换与您联系吗?我必须如何处理OnderneminDetailActivity类?我建议您阅读类似的教程。这应该解释关于列表视图的所有内容以及如何使用它们。
String selectedOnderneming;
Bundle extras = intent.getExtras();
if(extras != null)
onderneming = extras.getString("selected_onderneming"); // retrieve the selected onderneming