Android 如何从简单列表视图转到其他活动
我制作了一个名为AndRoot的应用程序 嗨!如何从我的ListView中单击App Developer的关注点,转到名为ConditionsActivity的活动 这是我的主题活动代码Android 如何从简单列表视图转到其他活动,android,listview,Android,Listview,我制作了一个名为AndRoot的应用程序 嗨!如何从我的ListView中单击App Developer的关注点,转到名为ConditionsActivity的活动 这是我的主题活动代码 package com.devcon.androot; import android.content.Intent; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import andr
package com.devcon.androot;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class TopicActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_topic);
String[] myStringArray={"App Developers' Concern","What is Root?","Pros of Rooted Device","Cons of Rooted Device",
"How to Root","How Root can do that things?","Cheating and Hacking when Rooted?","Unrooted" +
" vs. Rooted","Manufacturer vs. Root","Bring my warranty back!","How to Unroot","Do Unrooting" +
" will bring my phone back to Original?","Credits"};
ArrayAdapter<String> myAdapter=new
ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
myStringArray);
ListView myList=(ListView)
findViewById(R.id.listView);
myList.setAdapter(myAdapter);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
这是我的content topic.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.devcon.androot.TopicActivity"
tools:showIn="@layout/activity_topic">
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
请尝试下面的代码
myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
Intent intent = new Intent(TopicActivity.this, ConditionsActivity.class);
startActivity(intent);
}
}
});
在Listview上调用McClickListener,如下所示:
// your code to set adaptor on Listview
myList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// call intent here to move to another Activity on listview item click
}
});
解决方案是使用一个侦听器
myList.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3)
{
if (myStringArray[position].equals("App Developers' Concern") {
Intent intent = new Intent(TopicActivity.this, ConditionsActivity.class);
TopicActivity.this.startActivity(intent);
}
}
});
您需要为listView设置一个McClickListener来处理单击事件。我对你的代码做了一些修改。请查收 包com.devcon.androot; 导入android.content.Intent; 导入android.os.Bundle; 导入android.support.design.widget.FloatingActionButton; 导入android.support.design.widget.Snackbar; 导入android.support.v7.app.AppActivity; 导入android.support.v7.widget.Toolbar; 导入android.view.view; 导入android.widget.AdapterView; 导入android.widget.ArrayAdapter; 导入android.widget.ListView; 公共类主题活动扩展了AppCompaticActivity{ @凌驾 受保护的void onCreateBundle savedInstanceState{ super.onCreatesavedInstanceState; setContentViewR.layout.activity_主题; String[]myStringArray={应用程序开发人员关心的问题,什么是Root?,根设备的优点,根设备的缺点, 如何扎根,扎根能做什么?扎根时作弊和黑客?未扎根+ 对根,制造商对根,把我的保修带回来!如何拔根,做拔根+ 将使我的手机恢复原样?、信用卡}; ArrayAdapter myAdapter=新建 定制 这 android.R.layout.simple\u list\u item\u 1, 迈斯特林加里; ListView myList=ListView findviewbydr.id.listView; myList.SetOnItemClickListener新建AdapterView.OnItemClickListener{ @凌驾 公共无效MClickAdapterView arg0,视图arg1,整型位置,长arg3{ 开关位置{ 案例0: startActivitynew IntentopActivity.this、ConditionsActivity.class; 打破 } }; myList.setAdaptermyAdapter; Toolbar Toolbar=Toolbar findViewByIdR.id.Toolbar; 设置支持操作工具栏; getSupportActionBar.SetDisplayHomeAsupabledTrue; }
} 您需要为ListView设置一个侦听器。 以下是您的操作方法:
myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//Start new activity "YourSecondActivity"
Intent intent = new Intent(this, YourSecondActivity.class);
//Here you can send e.g. the items position by putting it as an extra into the intent
int itemClicked = position;
intent.putExtra("com.mycompany.myfirstapp.MESSAGE", itemClicked);
startActivity(intent);
}
});
顺便说一句:我不认为你的问题与javascript有关。你应该删除这个标签。你必须为你的列表设置一个监听器
myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(this,ConditionsActivity.class);
startActivity(intent);
}
});
当你尝试时会发生什么?
myListview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
Intent intent = new Intent(TopicActivity.this, ConditionsActivity.class);
startActivity(intent);
}
}
});
package com.devcon.androot;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class TopicActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_topic);
String[] myStringArray={"App Developers' Concern","What is Root?","Pros of Rooted Device","Cons of Rooted Device",
"How to Root","How Root can do that things?","Cheating and Hacking when Rooted?","Unrooted" +
" vs. Rooted","Manufacturer vs. Root","Bring my warranty back!","How to Unroot","Do Unrooting" +
" will bring my phone back to Original?","Credits"};
ArrayAdapter<String> myAdapter=new
ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
myStringArray);
ListView myList=(ListView)
findViewById(R.id.listView);
myList.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
switch(position) {
case 0:
startActivity(new Intent(TopicActivity.this, ConditionsActivity.class);
break;
}
});
myList.setAdapter(myAdapter);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}