从ListView内部传递意图



我有一个ListView代码,当单击ListView选项时,它会发出toast消息。主要活动.java

public class MainActivity extends ListActivity {
    static final String[] FRUITS = new String[] { "Apple", "Avocado", "Banana",
            "Blueberry", "Coconut", "Durian", "Guava", "Kiwifruit",
            "Jackfruit", "Mango", "Olive", "Pear", "Sugar-apple" };
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // no more this
        // setContentView(R.layout.list_fruit);
        setListAdapter(new ArrayAdapter<String>(this, R.layout.activity_main,FRUITS));
        ListView listView = getListView();
        listView.setTextFilterEnabled(true);
        listView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                // When clicked, show a toast with the TextView text
                Toast.makeText(getApplicationContext(),
                ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}

xml文件是:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="20sp" >
</TextView>

我想做的是当我点击显示的listview选项中的一个选项时传递一个意图

这是我迄今为止尝试过的代码

String str = ((TextView) view).getText().toString();
                Log.i(str, str + "");
//              str2 = FRUITS[Position];
                String s = str + ".class";
                Log.d(s, s + "");
                Intent myintent = new Intent(getApplicationContext(), ListViewSampleClass.class);
                startActivity(myintent);

尝试这种方式

 listView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // This will call another activity using intent
            Intent myintent = new Intent(getApplicationContext(), youcalssname.class);
            startActivity(myintent);
        }
    });

公共类MainActivity扩展ListActivity{

static final String[] FRUITS = new String[] { "Apple", "Avocado", "Banana",
        "Blueberry", "Coconut", "Durian", "Guava", "Kiwifruit",
        "Jackfruit", "Mango", "Olive", "Pear", "Sugar-apple" };
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // no more this
    // setContentView(R.layout.list_fruit);
    setListAdapter(new ArrayAdapter<String>(this, R.layout.activity_main,FRUITS));
    ListView listView = getListView();
    listView.setTextFilterEnabled(true);
    listView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // When clicked, show a toast with the TextView text
            Toast.makeText(getApplicationContext(),
            ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
            passIntentToAnotherActivity();
        }
    });
}
private void passIntentToAnotherActivity() {
    Intent myIntent = new Intent();
    ...
    // Rest of your intent code goes here. 
} 

}

最新更新