Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将ListView对象链接到android布局_Java_Android_Xml - Fatal编程技术网

Java 将ListView对象链接到android布局

Java 将ListView对象链接到android布局,java,android,xml,Java,Android,Xml,我在互联网上到处搜索,似乎没有简单的解释或指导如何做到这一点 基本上,我想要一个布局,它有一个ListView,用户可以在其中单击一个对象,并将其带到下一个布局 换句话说,使用listview作为指向其他布局的链接 我在网上找到的所有东西最终都是用祝酒词。。。但是我不想干杯,我想链接到下一页。你的问题有点让人困惑,所以我要做一个假设 [LinearLayout1 LinearLayout2 Breadcrumb]是否假定为导航或选项卡,选择后可将其相应内容插入主内容 如果是这样的话,我建议对每一

我在互联网上到处搜索,似乎没有简单的解释或指导如何做到这一点

基本上,我想要一个布局,它有一个ListView,用户可以在其中单击一个对象,并将其带到下一个布局

换句话说,使用listview作为指向其他布局的链接


我在网上找到的所有东西最终都是用祝酒词。。。但是我不想干杯,我想链接到下一页。

你的问题有点让人困惑,所以我要做一个假设

[LinearLayout1 LinearLayout2 Breadcrumb]是否假定为导航或选项卡,选择后可将其相应内容插入主内容

如果是这样的话,我建议对每一部分内容使用片段。然后,当您单击导航/选项卡时,执行片段的动画,将内容滑入和滑出

有关如何使用片段,请参见google文档:

有关如何制作幻灯片动画,请参见另一个stackoverflow答案: 或


以下是一些代码,概述了单击列表行后如何调用活动。希望您可以修改您提到的
Toast
示例,使其适合您。 基本思想是,您启动一个新的
活动
,并带有一个新的
意图
。您可以从
listView
行中传递所需的任何数据,作为
Intent
中的额外数据

final static String[] months = new String[] {"Jan","Feb","Mar"};

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_layout);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            R.layout.row_layout, R.id.text1, months);
    setListAdapter(adapter);
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    int intItem = (int)id;
    Intent intent= new Intent(this, SecondaryActivity.class);
    intent.putExtra("MONTH", intItem);
    startActivity(intent);
}
final static String[]months=新字符串[]{“Jan”、“Feb”、“Mar”};
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(右布局、主布局);
ArrayAdapter=新的ArrayAdapter(此,
R.layout.row_布局,R.id.text1,月);
setListAdapter(适配器);
}
@凌驾
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
int intItem=(int)id;
意向意向=新意向(此,SecondaryActivity.class);
意向。额外(“月”,初始);
星触觉(意向);
}

为什么要使用ListView? 每一行必须指向不同的布局? 它的主要优点是显示动态变化的数据,但在您的情况下,数据是恒定的,对吗

使用垂直线性布局,以编程方式将其填充为“列表元素”,然后添加

leListComponent.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        startActivity(new Intent(YourActivity.this, TargetActivity.class));
    }
});
给每个人

如果我没有得到它,并且您对使用某个适配器感到满意,它可能是这样的:

public class LeWrapper {
    private String caption;
    private Class<? extends Activity> target;
    ...POJO here...
}

v.setOnItemClickListener(new OnItemClickListener() {
  public void onItemClick(AdapterView<?> parent, View view,
      int position, long id) {
      //get leWrapper object from adapter
      startActivity(new Intent(MenuActivity.this, leWrapper.getTarget()));
  }
});
公共类说唱歌手{
私有字符串标题;

私人课堂感谢所有的帮助。很抱歉,我花时间回复。我的解决方案如下:)

公共类FP\u WL1\u ListView扩展活动{
私有ListView lv1;
私人串lv_arr[]{“运动自行车”、“跑步机”、“交叉训练器”、“蹲下”、“弓步”};
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(窗口。功能\u无\u标题);
setContentView(R.layout.fitnessprograms第一天);
lv1=(ListView)findViewById(R.id.list);
lv1.setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,lv_arr));
lv1.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
最终文本视图mTextView=(文本视图)视图;
开关(位置){
案例0:
Intent newActivity0=新Intent(FP_WL1_ListView.this,FitnessPrograms_Wlone_sp.class);
startActivity(newActivity0);
打破
案例1:
Intent newActivity1=新Intent(FP_WL1_ListView.this,FitnessPrograms_Wlone_Treadmill.class);
startActivity(新活动1);
打破
案例2:
Intent newActivity2=新Intent(FP_WL1_ListView.this,FitnessPrograms_Wlone_Crosstrainer.class);
startActivity(新活动2);
打破
案例3:
Intent newActivity3=新Intent(FP_WL1_ListView.this,FitnessPrograms_Wlone_hucks.class);
startActivity(新活动3);
打破
案例4:
Intent newActivity4=新Intent(FP_WL1_ListView.this,FitnessPrograms_Wlone_Lunges.class);
startActivity(新活动4);
打破
}
}
});
}   }      

安卓系统的良好实践是拥有漂亮/干净的活动(屏幕),因此常见的做法是在列表点击时打开一个新的活动(屏幕)。
 public class FP_WL1_ListView extends Activity {

 private ListView lv1;

 private String lv_arr[]={"Exercise Bike", "Treadmill", "Cross Trainer", "Squats", "Lunges"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.fitnessprograms_wlday_one);

        lv1=(ListView)findViewById(R.id.list);

        lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));


        lv1.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view,
          int position, long id) {
          final TextView mTextView = (TextView)view;
          switch (position) {
            case 0:
             Intent newActivity0 = new Intent(FP_WL1_ListView.this,FitnessPrograms_Wlone_sp.class);     
             startActivity(newActivity0);
            break;
            case 1:
                 Intent newActivity1 = new Intent(FP_WL1_ListView.this,FitnessPrograms_Wlone_Treadmill.class);     
                 startActivity(newActivity1);
                break;
            case 2:
                 Intent newActivity2 = new Intent(FP_WL1_ListView.this,FitnessPrograms_Wlone_Crosstrainer.class);     
                 startActivity(newActivity2);
                break;
            case 3:
                 Intent newActivity3 = new Intent(FP_WL1_ListView.this,FitnessPrograms_Wlone_Squats.class);     
                 startActivity(newActivity3);
                break;
            case 4:
                 Intent newActivity4 = new Intent(FP_WL1_ListView.this,FitnessPrograms_Wlone_Lunges.class);     
                 startActivity(newActivity4);
                break;


          }

      }
    });

    }   }