如何使用 Navigateup 从 Third Activity 返回到 Second Activity 使用 Intent
How to Use Navigateup Back From Thrird Activity to Second Activity using Intent
我正在开发一个 android 应用程序。在这个应用程序中,我有 3 Activity 一个作为 Title Activity 另一个作为 Subtitle Activity另一个是 detail Activity
现在我想从一个activity(副标题Activity) 向上导航 ]to parent activty(Title Activity) 通过使用下面的代码我执行该操作
副标题Activity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.subcategory_activity);
actionBar=getSupportActionBar();
listView2= (ListView) findViewById(R.id.listView2);
Intent intent= getIntent();
final String selectedData = intent.getStringExtra("selectedItem");
actionBar.setTitle(selectedData);
dbHelper = new SqlLiteDbHelper(this);
try {
dbHelper.openDataBase();
} catch (SQLException e) {
e.printStackTrace();
}
sqLiteDatabase=dbHelper.getReadableDatabase();
cursor=dbHelper.getsubcategory(sqLiteDatabase,selectedData);
String[] from = new String[] { dbHelper.SUBCATEGORY };
int[] to = new int[] {R.id.subcategory };
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.subcategory_row,cursor,from,to);
adapter.notifyDataSetChanged();
listView2.setAdapter(adapter);
listView2.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Cursor cursor = (Cursor) (listView2.getItemAtPosition(position));
String selectedItem = cursor.getString(0);
Intent intent = new Intent(SubcategoryActivity.this, DetailActivity.class);
intent.putExtra("selectedItem", selectedItem);
startActivity(intent);
}
});
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id==android.R.id.home)
{
NavUtils.navigateUpFromSameTask(this);
}
return super.onOptionsItemSelected(item);
}
}
Manifest.xml
<activity
android:name=".SubcategoryActivity"
android:label="@string/title_activity_subcategory" >
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"></meta-data>
</activity>
现在我不知道如何从我的细节 Activity 移动到 Subtile Activity 我们如何才能做到这一点??
详情Activity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail_activity);
actionBar=getSupportActionBar();
detailtext= (TextView) findViewById(R.id.detail);
imageView= (ImageView) findViewById(R.id.images);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent intent= getIntent();
final String selectedData = intent.getStringExtra("selectedItem");
actionBar.setTitle(selectedData);
dbHelper = new SqlLiteDbHelper(this);
try {
dbHelper.openDataBase();
} catch (SQLException e) {
e.printStackTrace();
}
sqLiteDatabase = dbHelper.getReadableDatabase();
cursor=dbHelper.getdetails(sqLiteDatabase, selectedData);
if(cursor.moveToFirst())
{
detailtext.setText(cursor.getString(0));
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id==android.R.id.home)
{
onBackPressed();
}
在您的 DetailsActivity
代码中执行类似的操作:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
有关 Tasks and Back Stack
(尤其是 Using Intent Flags
部分)的更多信息,请阅读此处:http://developer.android.com/guide/components/tasks-and-back-stack.html
使用
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setNavigationOnClickListener(View.OnClickListener);
并像这样放置点击监听器:
new View.OnClickListener() {
@Override
public void onClick(View view) {
YourActivity.this.onBackPressed();
}
我正在开发一个 android 应用程序。在这个应用程序中,我有 3 Activity 一个作为 Title Activity 另一个作为 Subtitle Activity另一个是 detail Activity
现在我想从一个activity(副标题Activity) 向上导航 ]to parent activty(Title Activity) 通过使用下面的代码我执行该操作
副标题Activity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.subcategory_activity);
actionBar=getSupportActionBar();
listView2= (ListView) findViewById(R.id.listView2);
Intent intent= getIntent();
final String selectedData = intent.getStringExtra("selectedItem");
actionBar.setTitle(selectedData);
dbHelper = new SqlLiteDbHelper(this);
try {
dbHelper.openDataBase();
} catch (SQLException e) {
e.printStackTrace();
}
sqLiteDatabase=dbHelper.getReadableDatabase();
cursor=dbHelper.getsubcategory(sqLiteDatabase,selectedData);
String[] from = new String[] { dbHelper.SUBCATEGORY };
int[] to = new int[] {R.id.subcategory };
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.subcategory_row,cursor,from,to);
adapter.notifyDataSetChanged();
listView2.setAdapter(adapter);
listView2.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Cursor cursor = (Cursor) (listView2.getItemAtPosition(position));
String selectedItem = cursor.getString(0);
Intent intent = new Intent(SubcategoryActivity.this, DetailActivity.class);
intent.putExtra("selectedItem", selectedItem);
startActivity(intent);
}
});
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id==android.R.id.home)
{
NavUtils.navigateUpFromSameTask(this);
}
return super.onOptionsItemSelected(item);
}
}
Manifest.xml
<activity
android:name=".SubcategoryActivity"
android:label="@string/title_activity_subcategory" >
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"></meta-data>
</activity>
现在我不知道如何从我的细节 Activity 移动到 Subtile Activity 我们如何才能做到这一点??
详情Activity:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail_activity);
actionBar=getSupportActionBar();
detailtext= (TextView) findViewById(R.id.detail);
imageView= (ImageView) findViewById(R.id.images);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent intent= getIntent();
final String selectedData = intent.getStringExtra("selectedItem");
actionBar.setTitle(selectedData);
dbHelper = new SqlLiteDbHelper(this);
try {
dbHelper.openDataBase();
} catch (SQLException e) {
e.printStackTrace();
}
sqLiteDatabase = dbHelper.getReadableDatabase();
cursor=dbHelper.getdetails(sqLiteDatabase, selectedData);
if(cursor.moveToFirst())
{
detailtext.setText(cursor.getString(0));
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id==android.R.id.home)
{
onBackPressed();
}
在您的 DetailsActivity
代码中执行类似的操作:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
有关 Tasks and Back Stack
(尤其是 Using Intent Flags
部分)的更多信息,请阅读此处:http://developer.android.com/guide/components/tasks-and-back-stack.html
使用
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setNavigationOnClickListener(View.OnClickListener);
并像这样放置点击监听器:
new View.OnClickListener() {
@Override
public void onClick(View view) {
YourActivity.this.onBackPressed();
}