我设计了一个有2个活动的应用程序,第一个(all_activity)包含使用BaseAdapter的列表视图。当用户点击其中一个项目时,它将开始一个新活动(Story_Detalies)包含列表视图中项目的信息。
我为(Story_Detalies)活动创建(all_activity)父级,并在(Story_Detalies)活动中使用此代码
<?php
session_start();
?>
<h1 id="message" class="contentHeader">Welcome<br>Please log in</h1>
<br>
<form id="form" method="post" style="height:250px;" ">
<h1 id="contentSignup" class="contentSignup">Log in</h1>
<input type="text" name="username" pattern="[A-Za-z0-9]{4,30}" title="4 to 30 alphanumeric characters" placeholder="Username" required="required" />
<br>
<input type="password" name="password" pattern="[A-Za-z0-9]{6,25}" title="6 to 25 alphanumeric characters" placeholder="Password" required="required" />
<br>
<button type="submit" class="Submit" name="submits">Submit</button>
<?php
if (isset($_POST['username']) && isset($_POST['password']) && isset($_POST['submits']))
{
$user = trim($_POST['username']);
$pass = trim($_POST['password']);
$file = "/private/data.csv";
$handle = fopen($file, "r") or die('ERROR OPEN FILE!');
while (($data = fgetcsv($handle)) !== FALSE) {
if ($data[0] == $username && $data[1] == hash('sha256', $password) ){
$_SESSION['user'] = $username;
header("Location: ./home.php");
$success = true;
break;
}
}
if (!$success)
{
echo '<script type="text/javascript">document.getElementById("message").style.color="red";</script>';
echo '<script type="text/javascript">document.getElementById("message").innerHTML="Wrong username or password";</script>';
}
fclose($handle);
}
?>
</form>
它会显示一个箭头以转到上一个活动。
listview有很多项目,所以当用户点击箭头时,我希望listview能够滚动到之前的那个点。
这是我在oncreate()中的listview代码: -
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
答案 0 :(得分:0)
您可以使用getFirstVisiblePosition()
找出屏幕上第一个项目。接下来,您可以迭代子项,直到找到与第一个可见位置对应的子项,然后使用getTop()
计算出它的垂直偏移量。
int position = listView.getFirstVisiblePosition();
int offset = 0;
for (int i = 0; i < listView.getChildCount(); i++) {
View child = listView.getChildAt(i);
if (listView.getPositionForView(child) == position) {
offset = child.getTop();
break;
}
}
您可以保存这些值并在返回途中使用它们来拨打setSelectionFromTop(position offset)
。