好。我正在开发一个项目,已经创建了列表视图,但是我想单击它并转到另一个页面,例如,当您单击一个按钮时,它会转到另一个页面,就像这样,到目前为止,这是我的代码:

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class listV extends ListActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setListAdapter( new ArrayAdapter<String>(this, R.layout.listview,Food));

    ListView list = getListView();
    list.setTextFilterEnabled(true);
    list.setOnItemClickListener(new OnItemClickListener(){

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), ((TextView)      arg1).getText(), Toast.LENGTH_SHORT).show();
        }

    });

}




static final String[] Food = new String[]{
"Physical Activity" , "Healthy Diet", "Childhood Obesity"

};

}


任何帮助,将不胜感激。
我只是一个初学者,所以请尝试详细解释。

最佳答案

看来您已经95%了。在侦听器的onItemClick方法中,您只需像平常一样开始新的活动即可。您可以使用onItemClick的第3个参数为您提供被单击的listview项的位置,并使用它来区分您调用的活动或将其传递到单个活动中:

@Override
public void onItemClick(AdapterView<?> arg0, View position, int arg2, long arg3) {

        Intent i;
        if( position == 1 ){
            i = new Intent(listV.this, MyFirstActivity.class);
        } else if (position == 2){
            i = new Intent(listV.this, MySecondActivity.class);
        } else if (position == 3) {
            i = new Intent(listV.this, MyThirdActivity.class);
        } else {
            return;
        }
        startActivity(i);

}

关于java - 如何制作可点击的 ListView ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7784380/

10-09 07:29